a = (":010612000020C70D0A")'这里肯定有问题
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的伊金霍洛网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
括号必须在引号里面,不然编译不过的
你的问题是没有发送确认符,一般串口指令末尾都有换行确认符vbCr,下位机接收到vbCr后才认为是一条完整指令,改成下面的试验
Dim a As String = ":010612000020C70D0A" vbCr
读取的是什么PLC? CCLINK一般做不到你提出的这个需求的。
VB.NET中是可以监控PLC中的数据的,要知道PLC的通讯协议就可以监控了。
这个圈里的是通讯过程中传送的Asc码,包含了PLc的站号地址、指令、起始符等内容,具体要看你的PLc通讯协议。通讯与开关量是两回事,你得补习下与通讯相关的内容。
VB不能直接访问PLC的。
西门子有专用的软件接口,是通过OPC实现的。大致原理是架设好OPC Server(其实也是一个软件),通过OPC协议把PLC的所有需要的IO或者中间变量共享出来,然后用西门子的专用接口访问OPC上共享出来的这些内容(VB、VC、C#等)。
另外如果你现在有WinCC和PLC通信且能监控或者控制PLC的IO点或者中间变量,那吗可以不用另外架设OPC Server,直接用WinCC 中的OPC就行了。