研选课堂
HOME
研选课堂
正文内容
西门子1200plc编程实例 西门子PLC配合组态王怎么样?西门子1200实例讲解!实用编程教程
发布时间 : 2025-06-18
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子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)保存并运行组态好的人机界面

可同时打开博图的在线监控,组态王的人机界面有指令时,博途也可以同时监测到寄存器的状态变化

「C#上位机」西门子1200PLC实用定位控制程序案例

引言

本文是一篇综合性非常强的文章,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusTCP通信协议及上位机编程实现最终控制,涉及知识面比较广,能够让我们很好地将所学知识结合起来。

项目开发平台

采用西门子TIA Portal V15编程软件编写运动控制程序,实现PLC(S7-1200系列:CPU1214C DC/DC/DC )对步进电机的控制,再通过编写ModbusTCP程序,将控制地址进行映射,从而方便上位机(VS 2019开发)与PLC进行通信,最终实现步进电机的运动方向、速度及距离的灵活控制。

涉及硬件: 开关电源、S7-1200PLC、步进驱动器、步进电机、单轴模组、限位开关

涉及软件: TIA Portal V15、VS2019、ModbusPoll(用于测试通信)

硬件接线

PLC编程

1.通过博图软件创建一个新的PLC项目,根据硬件型号插入新设备,这里为CPU 1214C DC DC DC

2.双击PLC的以太网口,设置IP地址,这里设置为192.168.2.210

3.双击CPU,在脉冲发生器PTO/PWM选项中设置信号类型为PTO,脉冲输出为Q0.0,方向输出为Q0.1

4.新建一个工艺对象,名称为轴1,通过基本参数>驱动器,设置脉冲输出为Pulse1

5.通过扩展参数>位置限制,设置上下限位分别为I0.1和I0.2

6.通过扩展参数>回原点>主动,设置原点开关为I0.0

7.程序段1,调用MC_Power使能,各个引脚填写如图所示,其中Asix选择轴1

8.程序段2,调用MC_MoveRelative,各个引脚填写如图所示,该程序段主要用于执行相对运动

9.程序段3,调用MC_MoveAbsolute,各个引脚填写如图所示,该程序段主要用于执行绝对运动

10.程序段4,调用MC_MoveJog,各个引脚填写如图所示,该程序段主要用于执行前进和后退点动

11.程序段5,调用MC_Home,各个引脚填写如图所示,该程序段主要用于执行归零

12.程序段6,调用MC_Reset,各个引脚填写如图所示,该程序段主要用于执行复位功能

13.程序段7,调用MC_Halt,各个引脚填写如图所示,该程序段主要用于执行暂停功能

14.程序段8,调用MC_ReadParam,来读取相关参数,各个引脚填写如图所示,该程序段主要用于读取实时脉冲

上位机开发思路

目前比较主流开发上位机的方式,主要是组态软件(触摸屏)、C#开发上位机,C#开发上位机与传统的组态软件之间的区别,主要体现在如下三个方面:

功能限制: 组态软件对于一些特定的需求或者逻辑,会有一定的局限性,使用上也受到软件本身的约束;C#开发上位机完全自主开发,几乎不存在功能上的限制,并且扩展方便。 技术要求: 组态软件最大的优势在于方便,因为它本身都集成了一些通用协议和元件,只需要按照使用说明进行组态配置即可;C#开发需要完全自己搭建框架和实现底层代码,对开发者的技术要求会更高一些。 价格成本: 组态软件需要按套、按点位收费,意味着每个项目无形中都有一个基础成本;C#开发上位机自主开发,不需要二次授权费用,并且开发一套之后,可以快速应用到其他项目中。

采用C#上位机开发,首先需要考虑的是通信问题。西门子S7-1200支持很多种不同的通信协议,包括S7、ModbusTCP、TCP/IP、UDP、OPC等,从开发成本上来说,我们优先考虑S7和ModbusTCP,对于S7和ModbusTCP通信协议,比较一下两者的优缺点:

S7协议为西门子内部协议,协议本身不公开,需要调用或者自己开发通信库,使用S7通信协议需要勾选CPU中的允许来自远程对象的PUT/GET通信访问。 ModbusTCP为公开、免费协议,可以自己开发通信库或者使用开源库,使用ModbusTCP通信协议需要编写一定的PLC程序来实现地址映射。

从公开免费和使用范围的角度来考虑,这里采用ModbusTCP通信协议,因为学会了ModbusTCP,意味着市场上的大部分仪表、PLC通信都可以搞得定,PLC程序编写如下如下所示:

创建DB块

这里首先创建一个DB块,里面包含了常用的一些操作和参数设置,值得注意的是,由于Modbus保持型寄存器的Bit位操作比较麻烦,因此这里我们统一使用Word类型来代替Bit。

Modbus地址与PLC地址的映射(控制位) Modbus地址与PLC地址的映射(参数地址) ModbusServer程序编写 上位机UI界面设计 ModbusTCP通信库

上位机开发功能实现的核心在于ModbusTCP通信库编写,由于Modbus协议是公开免费,可以自己根据Modbus协议来开发,也可以使用开源的Modbus库,如NModbus等,有了ModbusTCP通信库之后,我们可以将更多的精力放在业务处理及逻辑处理上面。

上位机功能开发

首先创建一个Windows窗体应用项目,项目名称为thinger.com.MotionPro。日志显示功能:日志显示采用ListView进行显示,绑定一个ImageList用来区分信息、报警、错误,添加日志方法的参数包含日志等级及日志内容。自己开发ModbusTCP通信库或者使用开源库,该库应该具备建立连接、断开连接、预置寄存器、读取寄存器的功能。建立连接和断开连接:这里通过按钮实现建立连接和断开连接2个功能。相对位置运动:设置相对运动速度和相对运动位置,实现电机的相对运动。绝对位置运动:设置绝对运动速度和绝对运动位置,实现电机的相对运动。点动运动模式:设置点动运动速度,按住正向点动或者反向点动,实现电机的点动运动。回原点模式:点击回原点,可以控制物体回到原点位置并停止。运动停止、运动暂停、复位相关功能。

(来源:网络,版权归原作者所有,侵删)

相关问答

西门子1200plc编码器编程实例?

西门子1200PLC的编码器可以通过编程实现各种控制功能。以下是一个简单的实例,用于控制一个温度传感器并将其转换为数字信号,以便在PLC中进行计数和计算:1.创...

西门子1200与300plc进行s7通信,单个数据包最大多少字节?

在西门子1200与300PLC进行S7通信时,单个数据包最大支持160字节。S7-1200PLC的GET指令可从远程站点读取最大222个字节的用户数据,PUT指令可向远程站点写入...

西门子1200plc怎么跳转子程序?

西门子1200plc跳转子程序的方法1,在执行程序过程中跳步:如果机床有跳转的功能的话,按住进给关闭按键不放再按一下DTG按键就可以了2程序编制:GOTOB和GOTOF西...

怎么查看西门子plc1200程序?

从电脑下载到PLC:先把硬件组态下载进去,打开硬件组态试图,右键硬件本体,点击硬件下载,硬件组态下载完以后,右键你的程序,选择软件下载即可。从PLC下载到...

s7-1200plc的模拟输出怎么控制变频器?

按照说明书,把输出的信号接至模拟量端子,把频率给定参数设置成模拟量控制就行了。按照说明书,把输出的信号接至模拟量端子,把频率给定参数设置成模拟量控制就...

SEW变频器和西门子1200PLC用以太网通讯?

如果变频器支持以太网的话,以太网通信最便宜,因为1200自带的以太网接口,其他的modbus,profibus的话需要购买s71200附加的模块,就是插在1200上面的小块。这...

西门子1200型plc无法启动启动?

您好,如果西门子1200型PLC无法启动,可能存在以下问题:1.电源问题:检查电源是否正常供电,确保电源电压符合PLC的要求。2.连接问题:检查PLC与其他设备的...

西门子PLCS7-1200上载程序?

要在西门子PLCS7-1200上载程序,首先需要使用STEP7软件连接到PLC。然后,在STEP7软件中选择“Online”模式,通过选择PLC的IP地址或使用USB连接,建立与PLC的...

西门子plc1200接线方法原理?

西门子PLCS7-1200的接线方法如下:1.将PLC与电源连接:连接PLC的电源分为两个步骤,第一步是将PLC的电源模块插入PLC机箱中,第二步是将电源模块连接到电源。...

西门子1200plc如何把I/O点映射到DB块?

西门子1200plc可以通过在TIAPortal软件中创建DB块并将I/O点映射到该块中来实现。在软件中选择DB块类型,然后选择需要映射的I/O点并将其分配到块中。映射后,可...

 河北省信息产业厅  大荒神舞 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部