S7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能
2023-02-21 02:12:34 941B VB S7-200
1
【亲测实用】VB与S7-200PLC通讯实例源码 文件类型:程序源代码 主要功能:此项包括VB程序与PLC程序.采用的是自由口通讯协议.程序比较简明.简单易懂. 适合人群:新手及有一定经验的开发人员
2021-12-19 22:02:05 63KB VB S7-200 通讯实例 自由口通讯协议
1.Prodave 是用于pc 与s7 系列plc 之间的数据链接通信的工具箱。其实质就是用户通过调用“w95_s7.dll”等库函数来解决 PLC 与PC之间的数据交换和数据处理问题。 所需硬件为:CPU22x,PC/PPI编程电缆,带COM口的PC。这可能是最简单的配置,很容易实现试验的目的。这里不需要安装Prodave软件,只要把“w95_s7.dll”文件拷贝到您程序相应的目录中去即可。2.通讯设置:打开“控制面板”中“设置PG/PC接口”选项,在“应用程序访问点”列表框内选择“S7ONLINE (STEP7) PC/PPI Cable”,在其属性内的“超时”可以设置大点,这里设置为100ms,“波特率”设置为9.6kbps(因为我的pc/ppi电缆为国产的,不支持多主站),“地址”为0。3。源代码:①PLC程序:LD I0.0 MOVW 4766, VW0 ②VB程序: ****在模块中声明****: Public plcadr As plcadrtype Public gb_PlcConnected As Boolean Type plcadrtype adr As Byte ‘站地址,默认值为2 SEGMENTID As Byte ‘段标识符,固定值为0 SLOTNO As Byte ‘槽的编号,默认值为2 RACKNO As Byte ‘机架号,固定为0 End Type Public Res As Long Declare Function load_tool Lib "w95_s7.dll" (ByVal nr As Byte, ByVal dev As String, adr As plcadrtype) As Long 。。。。。。。 ‘省略其它定义函数。 Declare Function as200_vs_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long ‘读200PLC V存储区的数据函数 ****在窗体中声明**** Private Sub Form_Load() Dim buffer(1) As Byte plcadr.adr = 2 plcadr.SEGMENTID = 0 plcadr.SLOTNO = 2 plcadr.RACKNO = 0 Res = load_tool(1, "S7ONLINE", plcadr) Res = as200_vs_field_read(0, 2, buffer(0)) If Res 0 Then MsgBox ("PLC连接错误") gb_PlcConnected = False Else gb_PlcConnected = True MsgBox ("plc连接正确") Label1.Caption = buffer(0) * 256 + buffer(1) End If End Sub 通过以上程序可以正确读出PLC中的数据。之后可以扩展内容,编写一个监控软件。
2019-12-21 18:50:38 82KB vb s7-200 自由口通信
1
VB通过S7-200 PC Access与PLC通信客户端程序
1