松下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
反馈数据解析反馈$表示写入正常
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |