[松下] 松下PLC_MEWTOCOL-COM 协议解析2

[复制链接]
查看305 | 回复0 | 2024-7-21 15:43:58 | 显示全部楼层 |阅读模式
松下PLC_MEWTOCOL-COM协议是由计算机侧发送指令,PLC自动响应,无需PLC侧编写程序。

讲解松下PLC_MEWTOCOL-COM协议总共分为4节,当前为第2节。
第1节:介绍硬件环境及配置
第2节:介绍BOOL类型的数据读写
第3节:介绍WORD类型数据读写
第4节:介绍PLC模式操作


触点区读取
触点区域读取的定义见表<1.1>

表<1.1>



RCS读取一个触点

读取Y0点(当前Y0点为TRUE)

下发指令解析(HEX):
25303123 524353 5930303031 2A 2A 0D
25303123表示ASCII字符%01#,使用%最多读取118字符,使用<最多读取2048字符,此处使用%
01代表PLC侧的地址
#代表固定符
524353代表代码RCS,内容说明见上表,表示只指定一点
5930303031表示寄存区Y0001
2A 2A 表示字符**,用于屏蔽校验码
0D表示结束符



反馈指令解析(ASCII)
%01$RC120\CR
%01代表最多118字符读取,地址为01设备
$表示读取数据正常,若不正常则反馈 “!”
RC表示反馈的代码,见表<1.1>
1 表示Y0点信号为TRUE,若为0则表示Y0点信号为FALSE
20代表校验码
\CR代表结束符


读取Y1点(当前Y1点为FALSE)

下发指令
25 30 31 23 52 43 53 59 30 30 30 31 2A 2A 0D
59对应的ASCII字符为X

反馈指令
25 30 31 24 52 43 30 32 31 0D
将反馈指令转换成ASCII码表示为
%01$RC021\CR
读取的数据为0,表示Y1为FALSE

读取X0点

下发指令
25 30 31 23 52 43 53 58 30 30 30 30 2A 2A 0D
58对应的ASCII字符为X

反馈指令
%01$RC021\CR


RCP读取多个触点

读取Y0-Y2

下发指令
25 30 31 23 52 43 50 33 59 30 30 30 30 59 30 30 30 31 59 30 30 30
32 2A 2A 0D
下发指令解析
25 30 31 23代表 %01#表示最多读取118字符,读取01地址,#固定
52 43 50代表“RCP”指令
33 代表读取3个触点
59 30 30 30 30代表“Y0000”
59 30 30 30 31 代表“Y0001”
59 30 30 30 32代表“Y0002”
2A 2A 代表校验码“**”不采用校验
0D代表结束符

反馈指令
%01$RC10020\CR
反馈指令解析
%01$表示最多读取118字符,地址为01,反馈成功(错误为%01!)
RC表示触点读取区域RC
100表示读取的BOOL类型数据为 TRUE FALSE FASLE分别对应Y0 Y1 Y2
20\CR表示校验码和结束符
  
RCC以字为单位读取触点

读取Y0开始的3个字

即读取WY0 WY1 WY2共3个字、6个字节、12个0x0

下发指令
25 30 31 23 52 43 43 59 30 30 30 30 30 30 30 32 2A 2A 0D
下发指令解析
25 30 31 23表示ASCII的“%01#”
52 43 43表示ASCII的“RCC”
59表示ASCII的“Y”若要读取X则使用“58”
30 30 30 30表示ASCII的“0000”和前面的Y组合使用表示“Y0000”
30 30 30 32 表示ASCII的“0002”和前面的Y组合使用表示“Y0002”
代表读取Y0000-Y0002数据
2A 2A 0D表示“**\RC”代表屏蔽校验码以及表示结束符

反馈指令
%01$RC01000000000010\CR
反馈指令解析
010000000000代表0100(Y0)0000(Y1)0000(Y2)

触点区写入

WCS只指定一点

写入Y4为TRUE



下发指令
25 30 31 23 57 43 53 59 30 30 30 34 31 2A 2A 0D
下发指令解析
25 30 31 23表示“%01#”
57 43 53 表示ASCII的WCS
59 30 30 30 34表示Y0004
31表示写入的数据为ASCII表示的“1”,即为TRUE
2A 2A 0D 表示“**\CR”代表无校验,以及结束符

反馈指令
%01$WC14\CR
反馈指令解析
%01$WC14\CR表示写入正常($)若写入失败则为(!),14为校验码

WCP指定多个触点

写入Y2/Y6/Y7为TRUE


下发指令
25 30 31 23 57 43 50 33 59 30 30 30 32 31 59 30 30 30 36 31 59 30 30 30 37 31 2A 2A 0D
下发指令解析
25 30 31 23表示ASCII的“%01#”
57 43 50表示ASCII的“WCP”
33表示ASCII的“3” 用于写入3个触点
59 30 30 30 32 31 表示将“Y0002”写入1(TRUE)
59 30 30 30 36 31 表示将“Y0006”写入1(TRUE)
59 30 30 30 37 31 表示将“Y0007”写入1(TRUE)
2A 2A 0D表示ASCII的校验位和结束符

反馈指令
%01$WC14\CR
反馈指令解析
反馈ASCII字符“$”表示写入正常


WCC指定以字为单位的范围

写入WY0 数据为 0x0007(Y8-YA)为TRUE

下发数据
25 30 31 23 57 43 43 59 30 30 30 30 30 30 30 30 30 30 30 37 2A 2A 0D
下发数据解析
25 30 31 23ASCII代表“%01#”
57 43 43 ASCII代表WCC
59表示写入的字寄存区为Y
30 30 30 30表示从“0000”开始,即Y0000开始
30 30 30 30表示到“0000”结束,即Y0000结束
30 30 30 37表示写入的数据为“0007”
2A 2A 0D 表示校验码和结束符,校验码为ASCII“**”表示不使用校验码

反馈数据%01$WC14\CR
反馈数据解析反馈$表示写入正常




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则