本示例通过一个简单的计数器程序说明相关硬件和软件的配置和简单使用。
组态王编写的人机界面可以控制并监测PLC的寄存器状态。左上角的按钮可以控制M0.0的关断,从而可以控制计数器的复位,计数器可以对左下角的按钮按下次数进行计数,计数值可以直接显示,也可以通过仪表显示。
硬件配置方法:我们选用的通信方式是基于以太网卡的TCP/IP协议通信
所以,我们直接使用网线将S7-1200和配置有网卡的计算机的以太网接口相连
TIA Portal与S7-1200的软件配置
1 使用博途组态S7-1200并编写程序,编写完成之后编译并下载
2 PLC与组态王通过以太网的方式通信的设置:
A、确认计算机中安装有以太网卡,并与PLC 连接到同一网络中(直接通过网线直连)。
B、通过编程软件设定IP地址和子网掩码,并下传到PLC中如IP地址(192.168.0.1)、子网掩码(255.255.255.0)。
C、为计算机设定IP地址和子网掩码,如IP地址(192.168.0.110)、子网掩码(255.255.255.0)。
D、使用ping 命令,保证能ping 到PLC 站。
3 PG/PC 接口配置,通信测试,以检查运行组态王的计算机是否和PLC正常通信
4 测试正常之后,即可在组态王开发项目
1 编写程序并下载
计算机与S7 1200PLC之间的通信是基于以太网卡的TCP/IP协议通信,我们可以查看组态的PLC设备的TCP/IP地址,默认为192.168.0.1,
编写、编译并下载程序
编写、编译并下载程序
在右侧的指令窗口中可以拖入进基本指令
编写、编译并下载程序,编写好的程序如下图:
可在PLC变量表里面为变量命名
在线监控可在线监控PLC寄存器状态
2 PLC与组态王通过以太网的方式通信的设置:
1、确认计算机中安装有以太网卡,并与PLC连接到同一网络中(直接通过网线直连)。
2、通过编程软件设定IP地址和子网掩码,并下传到PLC中如IP地址(192.168.0.1)、子网掩码(255.255.255.0)。 此步骤已经在博途中组态PLC的过程中完成了,通过PLC属性查看以太网地址。
3、为计算机设定IP地址和子网掩码,如IP地址(192.168.0.110)、子网掩码(255.255.255.0)。
这里以Win7系统为例
打开网络共享中心,双击更改适配器选项
修改IP地址
修改IP地址
4、使用ping 命令,保证能ping 到PLC 站。
在开始菜单“搜索程序和文件”中输入 cmd 指令,进入DOS命令窗口
在DOS 界面中输入命令:ping 192.168.0.110
然后回车。注意:在ping 和地址之间有一个空格,如下图所示。
观察DOS 界面中的ping 指令返回值。如包括time=1ms 或time<1ms 及TTL 等于某个数值,
且Lost=0,即ping 指令返回值正常,表明以太网连接正常。如下图所示。
如果连接不正常,可能如下图所示,ping 指令返回值显示timed out 或Lost 值不为0,
表示本机IP 地址和目标IP 地址连接不通,建议检查一下连接线缆及两台计算机的IP 地址设置。
(3)PG/PC 接口配置,通信测试,以检查运行组态王的计算机是否和PLC正常通信
1.打开Set PG/PC Interface。
在操作系统中点击“Start”菜单,打开“Control Panel”选项,在控制面板中,选中“大图标”显示,即可找到Set PG/PC Interface,如图。双击打开。
如图,在 Access Point of the Application(应用程序访问点)的下拉列表中选择 <Add/delete>,输入名称。
在 Interface Parameter Assignment Used 中点选Realtek PCIe FE Family Controller.TCPIP.1(注意:应根据运行计算机实际工作的网卡名进行选择,务必选择不带Auto 的),然后Access Point of the Application 内显示“CP-TCPIP - Realtek PCIe FE Family Controller.TCPIP.1 即可。
(4)通信测试,以检查运行组态王的计算机是否和PLC正常通信
我们的通信方式是TCP/IP,在组态王中定义的IO设备应该使用TCP/IP协议
注意设备地址的填写,冒号前面是我们在博途组态的PLC的地址,冒号后面为S1200的默认槽号,为0。为:192.168.0.1:0
通信测试,以检查运行组态王的计算机是否和PLC正常通信
然后使用组态王KingVIEW 6.55组态人机界面
(1)定义I/O设备:前面在测试设备的过程中,我们已经定义好了IO设备,此处略去
(2)定义I/O变量
根据程序,选择需要检测和控制的寄存器变量,在组态王数据词典中定义相应的IO变量。
先为复位开关M0.0建立一个IO变量
我们为其他寄存器定义好的I/O变量如下图:
其中,变量USB_Com用来显示组态王与PLC的通信状态,以帮助我们判断是否通信正常。
关闭(0)表示通信正常,打开(1)表示通信异常,也可以自行更改。或者可以在组态王的产品帮助文档中输入CommErr以查看使用说明。
全部建立好的变量如下图:
(3)新建并组态画面
现为复位开关M0.0以及计数M0.1组态开关按钮
现为复位开关M0.0关联PLC的M0.0
现为复位开关M0.0关联动作:鼠标按下时接通,弹起时断开。
同理我们为M0.1关联它的变量以及动作。
组态一个指示灯关联输出Q0.2,以便直观地观察复位状态
组态好的按钮和指示灯可以通过颜色显示状态之外,还可以通过工具箱的文本用“打开”或者“关闭”的文本标识状态。
为建立好的文本关联变量
使用同样的方法为按钮M0.1以及指示灯Q0.2建立文本并关联变量。
同时,我们再建立一个文本,关联计数器的计数值,以便在人机界面中查看计数值。
同时,我们也可以从图库中选取一个仪表,用刻度显示计数值。
此外,我们再建立一个文本并关联通信状态变量USB_Com,以便我们在人机界面运行时可以判断通信是否正常。
(4)保存并运行组态好的人机界面
可同时打开博图的在线监控,组态王的人机界面有指令时,博途也可以同时监测到寄存器的状态变化