|
标题:FX1N 下载通讯程序相关问题
问题初衷:
又过去一个礼拜.软件编写遇到了一个坎,我这个菜鸟,费多大力不说,干着急也没有用,关键是要整清楚问题.妄自揣测了几个可能
发生的问题.以下先说明操作流程及现象,最后,根据结果来推敲问题.
所有步骤依照下面图片进行:
(原文件名:1.打开三菱 SWOPC-WIN-C 上位机软件.jpg)
(原文件名:2.打开PMW文件.jpg)
(原文件名:3.确认.jpg)
(原文件名:4.选项-串行口参数(设置).jpg)
(原文件名:5.单击[ 是 ]按钮确认jpg.jpg)
(原文件名:6.将奇偶校验位改为EVEN偶校验后单击确认.jpg)
(原文件名:7.PLC-传送-写出.jpg)
(原文件名:8.PLC程序写入范围选择 0-16后单击确定.jpg)
(原文件名:9.开始写入进度条.jpg)
(原文件名:10.进度条未走 通讯失败界面.jpg)
(原文件名:11.侦听到的数据.jpg)
此处为三菱 SWOPC-WIN-C 上位机软件写出的数据
05 02 30 30 45 30 32 30 32 03 36 43 05 02 45 30 30 30 31 43 30 30 31 03 44 44 05 02 30 30 45 30 32 30 32 03 36 43 05
02 45 30 31 38 30 30 30 32 45 03 45 38 02 45 30 31 38 30 32 45 32 45 03 46 46 05 02 45 30 30 30 45 30 36 30 32 03 45
35 05 02 45 30 31 38 30 35 43 34 30 03 45 44 02 45 30 31 38 30 39 43 30 41 03 46 45 02 45 30 31 38 30 39 43 30 41 03
46 45 02 45 30 31 38 30 39 43 30 41 03 46 45
此处为 MCU(PLC) 返回的数据
06 02 36 32 36 36 03 44 37 06 02 30 41 03 37 34 06 02 36 32 36 36 03 44 37 06 02 30 38 30 30 43 35 44 43 30 30 30 30
30 30 30 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30
32 30 03 44 36 02 32 30 32 30 46 34 30 39 46 46 30 42 46 34 30 31 45 37 30 33 36 34 30 45 43 37 30 45 44 43 30 45 46
46 30 45 39 30 30 31 46 45 30 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 03 45 35 06 02 31 30 30 30 03 43 34 06 02 46 46 46 46 46
46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
46 46 46 46 46 46 03 30 33 02 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 03 30 42 02 46 46 46 46 46
46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 03 30 42 02 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
03 30 42
整理后:
PC: 05
PLC:06
PC: 02 30 30 45 30 32 30 32 03 36 43
PLC:02 36 32 36 36 03 44 37
PC: 05
PLC:06
PC: 02 45 30 30 30 31 43 30 30 31 03 44 44
PLC:02 30 41 03 37 34
PC: 05
PLC:06
PC: 02 30 30 45 30 32 30 32 03 36 43
PLC:02 36 32 36 36 03 44 37
PC: 05
PLC:06
PC: 02 45 30 31 38 30 30 30 32 45 03 45 38
PLC:02 36 32 36 36 03 44 37
PC: 02 45 30 31 38 30 32 45 32 45 03 46 46
PLC:02 32 30 32 30 46 34 30 39 46 46 30 42 46 34 30 31 45 37 30 33 36 34 30 45 43 37 30 45 44 43 30 45 46 46 30 45
39 30 30 31 46 45 30 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 03 45 35
PC: 05
PLC:06
PC: 02 45 30 30 30 45 30 36 30 32 03 45 35
PLC:02 31 30 30 30 03 43 34
PC: 05
PLC:06
PC: 02 45 30 31 38 30 35 43 34 30 03 45 44
PLC:02 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
46 46 46 46 46 46 46 46 46 46 46 46 46 46 03 30 33
PC: 02 45 30 31 38 30 39 43 30 41 03 46 45
PLC:02 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 03 30 42
PC: 02 45 30 31 38 30 39 43 30 41 03 46 45
PLC:02 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 03 30 42
PC: 02 45 30 31 38 30 39 43 30 41 03 46 45
PLC:02 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 03 30 42
解析:
-------------------------------------------------------------------------------------------
RS232C接口,通讯波特率 9600,7,e,1
PC机(设置为FX1N)向停止运行的 FX1N 下载步骤
-------------------------------------------------------------------------------------------
PC机发送 字节数: 0001, 数据: ENQ // PC机发出通信请求
PLC应答 字节数: 0001, 数据: ACK // PLC应答(已收到)
PC机发送 字节数: 0011, 数据: STX,"0","0E02","02",ETX,"6C" // 查询PLC 0E02H地址数据字(PLC型号)
PLC应答 字节数: 0008, 数据: STX,"62","66",ETX,"D7" // PLC返回"6266",代表PLC型号FX1N
PC机发送 字节数: 0001, 数据: ENQ // PC机发出通信请求
PLC应答 字节数: 0001, 数据: ACK // PLC应答(已收到)
PC机发送 字节数: 0013, 数据: STX,"E00","01C0","01",ETX,"DD" // 查询PLC 01C0H地址数据字节(FX1N运行状态)
PLC应答 字节数: 0006, 数据: STX,"0A",ETX,"74" // PLC返回"0A",代表PLC暂停
// 如PLC返回"09",代表PLC运行
PC机发送 字节数: 0001, 数据: ENQ // PC机发出通信请求
PLC应答 字节数: 0001, 数据: ACK // PLC应答(已收到)
PC机发送 字节数: 0011, 数据: STX,"0","0E02","02",ETX,"6C" // 再次查询PLC 0E02H地址数据字(PLC型号)
PLC应答 字节数: 0008, 数据: STX,"62","66",ETX,"D7" // PLC返回"6266",代表PLC型号FX1N
PC机发送 字节数: 0001, 数据: ENQ // PC机发出通信请求
PLC应答 字节数: 0001, 数据: ACK // PLC应答(已收到)
PC机发送 字节数: 0011, 数据: STX,"0","0E02","02",ETX,"6C" // 再次查询PLC 0E02H地址数据字(PLC型号)
PLC应答 字节数: 0008, 数据: STX,"62","66",ETX,"D7" // PLC返回"6266",代表PLC型号FX1N
PC机发送 字节数: 0013, 数据: STX,"E01","802E","2E",ETX,"FF" // 发出读PLC 802EH地址处连续2EH字节数据指令(这些内
容为PLC内预置参数值)
PLC应答 字节数: 0008, 数据: STX,'2','0','2','0','F','4','0' // PC机读入PLC 802EH地址处连续2EH字节数据
PLC应答 字节数: 0008, 数据: '9','F','F','0','B','F','4','0'
PLC应答 字节数: 0008, 数据: '1','E','7','0','3','6','4','0'
PLC应答 字节数: 0008, 数据: 'E','C','7','0','E','D','C','0'
PLC应答 字节数: 0008, 数据: 'E','F','F','0','E','9','0','0'
PLC应答 字节数: 0008, 数据: '1','F','E','0','3','0','0','0'
PLC应答 字节数: 0008, 数据: '0','0','0','0','0','0','0','0'
PLC应答 字节数: 0008, 数据: '0','0','0','0','0','0','0','0'
PLC应答 字节数: 0008, 数据: '0','0','0','0','0','0','0','0'
PLC应答 字节数: 0008, 数据: '0','0','0','0','0','0','0','0'
PLC应答 字节数: 0008, 数据: '0','0','0','0','0','0','0','0'
PLC应答 字节数: 0008, 数据: '0','0','0','0','0',ETX,"E5"
PC机发送 字节数: 0001, 数据: ENQ // PC机发出通信请求
PLC应答 字节数: 0001, 数据: ACK // PLC应答(已收到)
PC机发送 字节数: 0013, 数据: STX,"E00","0E06","02",ETX,"E5" // 发出读PLC 0E06H地址处一字数据指令(这些内容为PLC
内预置参数值)
PLC应答 字节数: 0008, 数据: STX,"1000",ETX,"C4" // PC机读入PLC 0E06H地址处一字数据
-------------------------------------------------------------------------------------------
// 读入PLC中已有程序
-------------------------------------------------------------------------------------------
PC机发送 字节数: 0001, 数据: ENQ // PC机发出通信请求
PLC应答 字节数: 0001, 数据: ACK // PLC应答(已收到)
PC机发送 字节数: 0013, 数据: STX,"E01","805C","40",ETX,"ED" // 发出读PLC 805CH地址处连续2EH字节数据指令
PLC应答 字节数: 0008, 数据: STX,'F','F','F','F','F','F','F' // PC机读入PLC 805CH地址处连续2EH字节数据
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F',ETX,"03"
PC机发送 字节数: 0013, 数据: STX,"E01","809C","0A",ETX,"00" // 发出读PLC 805CH地址处连续2EH字节数据指令
PLC应答 字节数: 0008, 数据: STX,'F','F','F','F','F','F','F' // PC机读入PLC 805CH地址处连续2EH字节数据
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F',ETX,"0B"
PC机发送 字节数: 0013, 数据: STX,"E01","809C","0A",ETX,"00" // 发出读PLC 805CH地址处连续2EH字节数据指令
PLC应答 字节数: 0008, 数据: STX,'F','F','F','F','F','F','F' // PC机读入PLC 805CH地址处连续2EH字节数据
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F',ETX,"0B"
PC机发送 字节数: 0013, 数据: STX,"E01","809C","0A",ETX,"00" // 发出读PLC 805CH地址处连续2EH字节数据指令
PLC应答 字节数: 0008, 数据: STX,'F','F','F','F','F','F','F' // PC机读入PLC 805CH地址处连续2EH字节数据
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F','F','F','F'
PLC应答 字节数: 0008, 数据: 'F','F','F','F','F',ETX,"0B"
三次重复读取操作后.显示通讯失败.
问题肯定出现在读入PLC中已有程序的过程中.返回的数据经过三菱 SWOPC-WIN-C 上位机软件处理后,认为数据无效.所以才中断通讯.
而中断通讯的原因是因为数据格式导致的?
还是因为返回的数值不能都是 46 46 46 46 即NOP 导致的?
我更换了很多个PMW文件.都是在第二次读取PLC中已有程序的过程中断掉.第一次返回的都是'F'(NOP)没有问题.第二次再读就不可以.
我通读了真个FX系列通讯手册.也没有发现那一句话是不允许这样发送的.问题具体出在哪.我推测不出来.
目前我需要找一个三菱的FX1N系列的PLC进行实际数据的监测.
在这里,寻网友OSTE.希望您将FX1N系列的一个PLC转借与我.待我研究几天后.在归还与您,不知可否.我要知道一下问题究竟出在哪.另
外也学习一段时间理论方面的PLC.趁这个机会锻炼一下自己的动手能力.
06.16 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|