VB与PLC通信的指令

大家好!我现在要帮人家开发一个PLC计算机监控程序  原理应该说来很简单  所以麻烦大家看看指点下
 由于我是学程序设计的  就会VB PLC部分编程不会  所以人家已经编好了PLC里面的程序  就是要我用VB写个监控程序  我在论坛 逛了几天了  但是就是不是很明白  我们学程序的人都知道  编程的时候要考虑到定义一个变量的类型  然后才能进行数据通信   我们VB 里面采用 MSCOMM控件的output 和 input 进行通信  然而我就是不知道  应该发送什么数据  控制PLC 字符串?二进制?16进制?这些都不明白是怎么回事  在论坛看了下资料感觉实在是复杂....所以很多就没有看完了   我在论坛里面问了一个人用什么指令使PLC停止 或者是运行 他就给我以下指令
 PLC 运行命令
 68 21 21 68 02 00 7C 32 01 00 00 00 00 00 14 00 00 28 00 00 00 00 00 00 FD 00 00 09 50 5F 50 52 4F 47 52 41 4D BA 16

 PLC 停止命令
 68 1D 1D 68 02 00 7C 32 01 00 00 00 00 00 10 00 00 29 00 00 00 00 00 09 50 5F 50 52 4F 47 52 41 4D BA 16 
 看得我更是糊里糊涂  问他怎么获取的他说用一个串口数据监控软件
 那我现在要做的软件  是一个温度监控  做成图表的  要每秒获取  一次PLC 某个寄存器的值  但是那个值也是变化的 我应该怎么转换呢?有没有什么公式计算出来  比如VW1230这个寄存器前导码是什么?站号又是什么?返回来的数据又是什么?或者说我要发送一个 50 个这个寄存器又应该怎样呢?  小弟刚刚学问的问题  可能有点愚昧 请大家见谅  我的  QQ345324289  E-MAIL345324289@qq.com  欢迎各位高手加我QQ一起讨论共同讨论进步

问题补充:
WINCC那个东西是好  但是实用性不怎么强   自己写一个程序大小最多应该不过10M他的东西 可复杂了  并且不能客制化   如果会了通信 就可以根据客户要求定做开发新的东西  所有的东西 重在学以致用而不是依靠人家  虽然也是个好的方法  不过对于我...就免啦  所以还是继续请高人指点

最佳答案

你不清楚的所有问题是因为你不知道要先规定通信协议,西门子的ppi是不开放的,你不可能用这种协议通信,所以你要制定你自己的通信协议,有了协议就知道了要发什么数据,接受的数据是什么意思了,如果不明白可以先用看看modbus协议,这是一种公开的,西门子库中也有现成的可以帮助你理解。通信协议就像一种语言,只有双方都使用这种语言才明白对方说什么。

提问者对于答案的评价:
谢谢  原来瞎摸这么久就是协议的问题没有搞清楚

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午10:54
下一篇 2021年7月4日 下午10:54

相关推荐

发表回复

登录后才能评论