wisebaby 发表于 2009-6-16 14:24:12

FX1N 下载通讯程序相关问题细则

标题:FX1N 下载通讯程序相关问题
问题初衷:
    又过去一个礼拜.软件编写遇到了一个坎,我这个菜鸟,费多大力不说,干着急也没有用,关键是要整清楚问题.妄自揣测了几个可能

发生的问题.以下先说明操作流程及现象,最后,根据结果来推敲问题.

所有步骤依照下面图片进行:
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453679.jpg
(原文件名:1.打开三菱 SWOPC-WIN-C 上位机软件.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453680.jpg
(原文件名:2.打开PMW文件.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453681.jpg
(原文件名:3.确认.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453682.jpg
(原文件名:4.选项-串行口参数(设置).jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453683.jpg
(原文件名:5.单击[ 是 ]按钮确认jpg.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453684.jpg
(原文件名:6.将奇偶校验位改为EVEN偶校验后单击确认.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453685.jpg
(原文件名:7.PLC-传送-写出.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453686.jpg
(原文件名:8.PLC程序写入范围选择 0-16后单击确定.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453687.jpg
(原文件名:9.开始写入进度条.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453688.jpg
(原文件名:10.进度条未走 通讯失败界面.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_453689.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

xbq1001 发表于 2009-6-17 13:05:59

关注,我实验室有个PLC,可惜今天没找的着,晕!

xbq1001 发表于 2009-6-18 19:41:38

我这里有一个PLC FX2N32MT,可以为楼主做实验

wisebaby 发表于 2009-6-19 09:48:25

我昨晚已经联系上了网友OSTE.PLC已经有了着落.

多谢【1楼】 xbq1001 ,您一直的关注.

我会努力的,敬请放心.
页: [1]
查看完整版本: FX1N 下载通讯程序相关问题细则