- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精选
Fins命令+Hostlink协议通讯实验
一、实验配置
硬件:CPU单元:CJ2M-CPU35
RS232串口选件板:CP1W-CIF01
USB转232连接电缆:CS1W-CIF31
软件:CX-Programmer、串口调试助手UartAssist
二、PC主机直连PLC串口命令帧格式介绍
命令格式
响应格式
PC主机直连PLC的情况下,主机发送命令给PLC,发送命令格式如下:(P54)
@:Hostlink协议起始代码
Unit No.:单元号,对应PLC内置串口或串行通讯单元设置的Hostlink单元号。
Header code:在PC主机直连PLC的情况下,头代码为FA
Response wait time:设置范围为0~F,单位为10ms,例如设置为2,则响应等待时间为20ms
ICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。
SID:通常设置为00
Fins command code:参考Fins通讯手册P125
读命令:0101
写命令:0102
Text:具体操作内容,读写区域、读取起始地址、数据长度等内容
存储区代码:(参考Fins通讯手册 P137)
DM(word):82
W(bit):31
W(word):B1
CIO区(bit):30
Tips:使用Fins指令最大可读取538个字节。
一条命令不能超过1114个字符。
三、串口通讯调试实例
实例1——DM数据寄存器区读写实例;
1、读取D0开始1个通道的值
发送命令:@00FA 000000000 0101 82 000000 0001 7C *↙(回车键)
返回命令码:@00FA004000000001010000123447*↙(回车键)
2、读取D100开始的50个通道
发送命令:@00FA00000000001018200640000327E*↙(回车键)
3、写D200开始的2个通道
发送命令:@00 FA 00102 82 00C8 00 00020F*↙(回车键)
Header code:在PC主机直连PLC的情况下,头代码为FA
Response wait time:设置范围为0~F
ICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。
SID:通常设置为00
Fins command code:参考Fins通讯手册P125
读命令:0101
写命令:0102
DM(word):82
W(bit):31
W(word):B1
CIO区(bit):30
00c8 就是D200地址
00表示通道中的位
0002表示读取2个通道值
响应命令:@00FA00400000000102000040*↙(回车键)
实例2——Wr工作区读写操作
1、读取W10开始的8个通道
发送命令:@00FA0000000000101B1000A0000087D*↙(回车键)
2、写W20开始的5个通道
发送命令:@00FA0000000000102B100140000050001000200030004000506*↙(回车键)
响应命令:@00FA00400000000102000040*↙(回车键)
总结:
由上述例子可得,对于PC主机直连PLC串口的情况下,无论什么存储区,读操作均为0101,写操作为0102,只需将不同存储区的代码更改即可。
建议PC与PLC交换数据时,尽量采用连续的通道(一个字)的形式进行交换。
文档评论(0)