S7_200做PROFIBUS_DP主站连接P+F多圈编码器。 S7_200PLC只能作PROFIBUS_DP总线上的从站这是常识。但前不久有个项目,控制器是S7_200(226),系统 中有一个传感器是P+F多圈编码器(DP接口)。要想获得编码器的数据只有用S7_200的自由端口模式来模 仿DP主站才有可能实现。按这个思路,先在WLC(PC+CP5611+WinAC)上对P+F编码器进行组态,联通后再截 取WLC与P+F编码器的握手数据包和数据交换包。
WLC呼叫: 68 05 05 68 85 82 6D 3C 3E EE 16 P+F回答: 68 0B 0B 68 82 85 08 3E 3C 02 05 00 FF 50 46 25 16
WLC呼叫: 68 2C 2C 68 85 82 5D 3D 3E B8 0F 0F 0B 50 46 00 00 4A 00 00 10 00 02 00 00 00 00 00 00 00 00 00 00 00 82 00 00 00 00 00 00 7F FF 00 00 10 00 02 C4 16 P+F回答: E5
WLC呼叫: 68 07 07 68 85 82 7D 3E 3E F1 D0 C1 16 P+F回答: E5
WLC呼叫: 68 05 05 68 85 82 5D 3C 3E DE 16 P+F回答: 68 3E 3E 68 82 85 08 3E 3C 00 0C 00 02 50 46 33 00 4A 01 00 00 20 00 10 00 00 00 10 00 00 00 10 01 01 09 09 00 00 00 00 00 FE CD 78 00 00 00 00 00 00 20 00 02 00 00 00 50 46 33 38 39 37 36 32 38 38 BD 16
WLC请求数据:68 07 07 68 05 02 7D 00 00 00 00 84 16 P+F回答数据:68 09 09 68 02 05 08 07 F7 8B 75 00 00 0D 16
根据以上握手和交换的数据包,用S7_200的自由口模仿WLC的呼叫,并接收P+F的回答数据包,再从回答数据包里摘出编码器的转角编码数据就大功告成了。
----------人才。都说软件的功能是无限的啦。 万一被你发现了电脑向plc下载程序时候的握手数据包和数据交换包。那么你的plc就可以在ppi网络 DP网络上神不知鬼不觉地向每个plc下载二姨程序和病毒了。在plc运行中下载循环程序,令plc扫描时间达到前所未有的2000毫秒…… 这都不是神话。
---------西门子200可以与P+F编码器组态吗
---------回二楼:在WLC上先组态调通,再截取上述的握手包和交换包,用S7_200的自由口按握手包和交换包去轰P+F就行了,所以在S7_200上不用组态。
--------高手啊,原来200还可以这样玩?!
-------你真心觉得可能吗? 西门子的工程师知道自己的产品有自由口通讯功能,一切皆有可能。 西门子工程师没有来过我家,不代表他们没能力来我家。只是他们没必要来我家。如果他们有必要,一样会敲你家门。 所以,这样认为的人都自己去开发plc了。山寨就是这样形成的了
--------实际上大家仅据我的贴子提出疑问是很正常的。要做通当然还要考虑一些细节,比如从站波特率是自适应的,安步就班的去轰P+F还不行,侦测包需要轰2次以上,等到有正确应答包后才可以往下进行。还要考虑总线的可恢复性,即各种原因掉线后的自动恢复性…这个项目已做的非常好了,唯一不足是波特率受限于端口,只能到19200和没有隔离。
|