万胜解密网

万胜解密网联系电话

浅说西门子PLC到底是怎么通讯的?

发布时间:2011-11-23 14:46|来源:万胜PLC解密网|点击:

PC与PLC采用主从方式通讯,PC按如下文的格式发读写指令,PLC作出接收正确的响应,上位机接到此响应则发出确认命令(10 02 5C 5E 16),PLC再返回给上位机相应数据。

现在简单的分析一下这个指令的具体含义: 10起始符 02是上位机要联系的下位机的地址站号,就是要找的人 00就是上位级本身自己的站号 49寻呼指令 16终止符 其中4B为校验码,是这样得来的:02+00+49的最后两位就是校验码,这就是所说的偶校验或称和校验也称余校验,因为取的是余数。计算器在16进制计算时公式(02+00+49)mod 100得出的数就是校验码,算出来等于4B。!其他的所有PPI协议校验都是如此。

下面列表分析读取PLC密码的指令:68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05 E0 D2 16。

读命令分析:一次读一条数据
SD LE LER SD DA SA FC DASP SSAP DU FCS ED
 SD:(Start Delimiter)开始定界符(68H)
LE:(Length)报文数据长度
LER:(Repeated Length)重复数据长度
SD: (Start Delimiter)开始定界符(68H)
SA:(Source Address)目标地址,指该地址的值,就是PLC的地址
DA:(Destination Address)本地地址,指该地址的指针,就是上位机自己的地址
FC:(Function Code)功能码,5CH为交替周期触发,6CH为首次信息周期触发,7CH为交替周期触发。
DSAP:(Destination Service Access Point)目的服务存取点
SSAP:(Source Service Access Point)源服务存取点
DU:(Data Unit)数据单元
FCS:(Frame Check Sequence)校验码
ED:(End Delimiter)结束分界符(16H)

报文数据长度和重复数据长度为自DA至DU的数据长度,校验码为DA至DU数据的和校验,只取其中的末字节值关于这个校验码的计算方法同上面说明。

在读写PLC的变量数据中,读数据的功能码为 6CH,写数据的功能码为 7CH。
 

TAGS: PLC 西门子
更多