S7-200的PPI通信协议_VC代码

最近需要与S7-200 PLC通信,以前使用的是OPC方式通信,现在要使用PPI通讯协议,查找了很多资料,都是VB方面的,VC方面的基本没有,有的也只是论文形式的,泛泛之谈。于是只有自己研究下了。。研究之后,小有收获,到时候等设备过来调试,如果没有问题,就整理成文档。。呵呵

读命令分析:一次读一条数据(地址VW10)
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。
对于一次读取一个数据,读命令都是33个字节。

向地址VW10=1读值:
1.发送数据
68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 04 00 01 00 01 84 00 00 50 BA 16
2.收到数据
E5
3.发送数据
10 2 0 5C 5E 16
4.收到数据
68 17 17 68 00 02 08 32 03 00 00 00 00 00 02 00 06 00 00 04 01 FF 04 00 10 00 01 60 16

写命令分析:
向地址VW10写值1:
1.发送数据
68 21 21 68 02 00 7C 32 01 00 00 00 00 00 0E 00 06 05 01 12 0A 10 02 00 02 00 01 84 00 00 50 00 04 00 10 00 01 E5 16
2.收到数据
E5
3.发送数据
10 2 0 5C 5E 16
4.收到数据
68 12 12 68 00 02 08 32 03 00 00 00 00 00 02 00 01 00 00 05 01 FF 47 16

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值