西门子PLC配合组态王怎么样?西门子1200实例讲解!实用编程教程
本示例通过一个简单的计数器程序说明相关硬件和软件的配置和简单使用。
组态王编写的人机界面可以控制并监测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)保存并运行组态好的人机界面
可同时打开博图的在线监控,组态王的人机界面有指令时,博途也可以同时监测到寄存器的状态变化
西门子 S7-1200PLC编程 数组的使用方法
关注“ 技成微课堂 ”,一起涨知识~
私信回复:64,领64本西门子电子书!
使用数组数据类型注意事项
ARRAY类型是由数目固定且数据类型相同的元素组成的数据结构。ARRAY类型的定义和使用需要注意以下几点:
ARRAY类型可以在DB、OB/FC/FB接口区、PLC数据类型处定义;无法在PLC变量表中定义。数组定义:Array[维度1下限..维度1上限,维度2下限..维度2上限,...]of <数据类型>,最多可包含 6 个维度;数组元素的数据类型包括:除数组类型、Variant类型以外的所有类型;数组下标的数据类型为整数,下限值必须小于或等于上限值,上下限的限值在S7-1200 V3.0及其以前为Int范围(-32768~+32767),在S7-1200 V4.0及其以后前为DInt范围(-2147483648 ~+21474836487),可以使用局部常量或全局常量定义上下限值,数组的元素个数受DB块剩余空间大小以及单个元素大小的限制;从S7-1200 V2.0开始,下标可以不仅仅是常数、常量,也可以是变量,还可以是混合使用(多维数组),如果编程语言是SCL的话,下标还可以是表达式。使用数组的变量下标,可以在程序中很容易地实现间接寻址。注意,下标变量必须是符号名,不能是DB1.DBW0这种没有对应符号名的绝对地址。从S7-1200 V4.2开始,FC的Input/Output/InOut以及FB的InOut可以定义形如Array[*]这种变长数组,要求必须是优化FC/FB块,在调用FC/FB的实参中可以填写任意数据类型相同的数组变量;当然,也可以多维变长的数组,例如Array[*,*]of Int。数组可以使用单个数组元素例如"DB1".Static_1[1],也可以使用整个数组例如"DB1".Static_1。多维数组可以降维使用,例如三维数组:3D[0..2,0..3,0..4]of Int是一个3×4×5大小的Int数组,3D[0]是一个4×5大小的二维Int数组,3D[0,1]是一个5个元素的一维Int数组,当然多维数组下标也可以换成变量,例如3D[Tag_1,1]这种;S7-1200 V4.2开始,多重背景支持数组形式,即Array of FB,这样可以在FB中使用循环指令更方便的编写程序。不支持Array[*] of FB。在TIA 博途 V10.5 SP2,S7-1200 V1.0的时候,曾经引入FieldRead 和 FieldWrite 指令,用于数组下标的变址寻址,这种方法在TIA 博途 V11之后可以由下标变量完全取代,并且更为简化,所以该指令也只是位于“移动操作>原有”中,用于早期版本向上移植时使用,它的使用方法参见FieldRead 和 FieldWrite 间接寻址。数组的基本使用方法
一. DB中创建,如图1所示:
图1 Array在DB中的创建
二. FC的InOut中创建,如图2所示:
图2 Array在FC形参中的创建
三. 数组作为实参,如图3所示:
图3 Array作为FC的实参
四. FC程序中使用数组元素,使用形参,如图4所示:
图4 FC程序中使用形参
五. FC程序中使用数组元素,下标为变址寻址,使用形参, 如实现以下功能,将0-7这8个数,送入数组下标为0-7的8个元素,如图5-7所示:
(1)FC形参设置,如图5所示:
图5 FC形参设置
(2)程序编制,如图6所示:
图6 程序详情
(3)SCL的版本,如图7所示:
图7 SCL版本的程序
六. 在程序中直接使用数组元素,如图8所示:
图8 程序中直接使用数组元素
七. 在程序中直接使用数组元素,下标为变址寻址, 如实现以下功能,将0-7这8个数,送入数组下标为0-7的8个元素,如图9-11所示:
(1)数据块定义,如图9所示:
图9 DB1的定义
(2)程序编制,如图10所示:
图10 程序详情
(3)SCL的版本,如图11所示:
图11 SCL版本程序
Array【*】使用实例
实现以下功能:使用FC的Input定义数组Array[*] of Int,求变长数组元素的总和,可以按照以下步骤来完成。
一. 使用Array[*] ,必须使用如图12所示的指令,计算数组元素的上下限,从而得出元素个数:
图12 指令位置
二. 定义变量,如图13所示。赋初始值,计算上下限,如图14所示:
图13 定义形参
三、计算上下限程序,如图14所示:
(1)输入Array[*]类型的变量
(2)所求上下限的维数
(3)该维数下的下限/上限,DINT类型
图14 计算上下限
四. 求和程序,如图15所示:
图15 求和的程序
五. SCL的版本,如图16所示:
图16 SCL版本程序
六. OB1中调用实参为不同数组元素个数的数组,如图17所示:
图17 OB1调用程序
Array of FB的使用实例
实现以下功能:FB3多次调用FB4,在FB3内部循环调用,减少程序量。FB4的两个Input:Start,Stop,一个InOut:Run,建立Array[0..7] of FB4。同时建立变量 Array[0..7] of Struct,作为对应FB4的输入和输出,如图18所示:
图18 程序详情
版权声明:文章转自网络,版权归原作者所有。如有侵权,请联系我们删除!
私信回复:64,领64本西门子电子书!
相关问答
西门子1200模拟量输出编程实例?
西门子1200模拟量输出的编程实例:在编程软件中添加模拟量模块,并配置模块类型和输入/输出信号的范围。在程序中通过指定模拟量输入/输出的地址,实现对模拟量...
西门子plc1200怎么编写程序?
编写西门子PLC1200程序需要具备一定的基础知识和技能,例如熟悉PLC的工作原理、掌握PLC编程语言和相关软件的使用等。在编写程序时,需要根据实际需求设计程序...
西门子1200plc485通讯实例?
西门子1200PLC通过485通讯可以实现不同设备之间的数据传输和通信。在这个实例中,我们将通过RS485总线连接两个PLC,通过修改相关程序,可以实现两个PLC之间的数...
1200plc配置清单?
以下是S7-1200PLC的配置清单:电源模块:提供直流电压,将其转换为PLC所需的电压。CPU模块:处理和执行程序。信号模块:用于输入和输出模拟和数字信号。功...
1200plc顺序控制指令?
众所周知,S7-1200不支持Graph语言,但这种语言又很适合顺序逻辑控制,按照工艺的步序,一步步编程即可,为了解决S7-1200在Graph方面的弊端,我们可以通过CASEO...
两个1200plc用profinet怎么编程?
编程步骤如下:首先,添加PROFINETIO设备到PLC中。然后使用PLC编程软件将PLC与PROFINETIO设备连接。接下来,使用PROFINETIO配置工具将所需的输入/输出映射到...
1200PLC怎么复制程序?
要复制1200PLC的程序,首先需要打开适用的编程软件,然后连接PLC和计算机。接下来,选择要复制的程序文件,将其复制到本地计算机上的适当位置。在本地计算机上...
库卡机器人怎么写浮点数给plc?
库卡机器人(KUKARobot)和PLC(可编程逻辑控制器)通常用于自动化系统。确保机器人和PLC之间的数据传输正确是至关重要的。浮点数通常是指带小数点的数字,如3...
1200plc怎么和变频器的以太网通讯?
要实现1200plc和变频器的以太网通讯,首先需要确保两者都支持以太网通讯功能。然后,通过编程将1200plc配置为以太网主站或从站,并设置相应的IP地址和端口号。...
西门子1200plc上升沿怎么用?
在西门子1200PLC中,上升沿常常被用作触发PLC输入信号的方式,类似于按钮按下的那一瞬间。以下是如何在西门子1200PLC上使用上升沿的步骤:1.在PLC编程软件中...