研选课堂
HOME
研选课堂
正文内容
plc编程的CPT 西门子PLC配合组态王怎么样?西门子1200实例讲解!实用编程教程
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 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)保存并运行组态好的人机界面

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

罗克韦尔(AB)PLC,基础指令集讲解(4)计算算术指令

1 计算指令 (CPT )

CPT 指令是一条输出指令。

操作数:

操作数:

数据类型:

格式:

说明:

目的单元

sINT INT DINT REAL

标签

存储结果的标签

表达式

sINT 1NT DINT REAL

立即数 标签

表达式由运算符分开 的标签/立即数组成。

说明:CPT 指令执行表达式中定义的算术运算。当指令被使能时 CPT 指令计算表达式的数值 并且存放结果于目的单元内。与其它算术指令运算相比 CPT 指令的运算速度稍慢而 且占用 更多的内存。CPT 指令的优点是它允许用户在一条指令内输入复杂的表达式。

有效运算符:

运算符:

说明:

最优数据类型:

+

D INT, REAL

-

减/非

D INT, REAL

*

D INT, REAL

/

D INT, REAL

**

指数(xtoy)

D INT, REAL

ACS

反余弦

REAL

AND

按位与

DINT

ASN

反正弦

REAL

ATN

反正切

REAL

COS

余弦

REAL

DEG

弧度转换成角度

D INT, REAL

FRD

BCD码转换成整数

DINT

LN

自然对数

REAL

LOG

以 10 为底的对数

REAL

NOT

位补码

DINT

OR

按位 0R

DINT

RAD

角度转换成弧度

D INT, REAL

SIN

正弦

REAL

SQR

平方根

D INT, REAL

TAN

正切

REAL

TOD

整数转换成 BCD

DINT

XOR

按位异或

DINT

确定运算顺序 指令按预先规定的顺序而不必按用户列出的顺序执行写入表达式的运算。可 以通过把分组项组合到圆括号内来改变运算顺序强制指令在执行其他运算之前执行圆括号 内的运算来改变运算顺序。同级的运算顺序是从左向右执行。

顺序: 运算符:

1 ACS , ASN , ATN , COS , DEG , FRD , LN , LOG , RAD , S IN , SQR , TAN TOD

2 **

3 -(取反)NOT

4 * , /

5 -(减)+

6 AND

7 XOR

8 OR

执行:

条件:

动作:

预扫描

梯级输出条件被设置为假。

梯级输入条件为假

梯级输出条件被设置为假。

梯级输入条件为真

指令计算表达式并存放结果于目的单元梯 级输出条件被设置为真。

算术状态标志: 影响算术状态标志

故障条件: 无 CPT指令举例: 当指令被使能时 CPT 指令计算 value_ 1 乘以 5 的结果, 然后此结果被 value_2 除以 7 的结果 除并把最后结果存放在 result_ 1 内.

2 加法指令(ADD)

ADD 指令是一条输出指令。

操作数:

操作数

数据类型

格式

说明

源A

SINT INT DINT

REAL

立即数 标签

与源B操作数相加的 值。

说明:ADD 指令使源 A 操作数与源 B 操作数相加并存放计算结果于目的单元内。

执行:

条件:

动作:

预扫描

梯级输出条件被设置为假。

梯级输入条件为假

梯级输出条件被设置为假。

梯级输入条件为真

目的单元=源A+源B,梯级输出条件被 设置为真。

算术状态标志: 影响算术状态标志

故障条件: 无 ADD指令举例: 当指令使能时 ADD 指令使 float_value_ 1 与 float_value_2 相加并存放结果于 add _result 内。

3 减法指令(SUB)

SUB 指令是一条输出指令。

操作数:

操作数

数据类型

格式

说明

源A

SINT INT DINT

REAL

立即数 标签

减去源B操作数相加 的值。

源B

SINT INT DINT

REAL

立即数 标签

从源A操作数减去的 值

目的单元

SINT INT DINT

REAL

标签

存放计算结果的标 签。

说明:SUB 指令使源 A 操作数减去源 B 操作数并存放结果于目的单元内。

执行:

条件:

动作:

预扫描

梯级输出条件被设置为假。

梯级输入条件为假

梯级输出条件被设置为假。

梯级输入条件为真

目的单元=源A一源B梯级输出条件被 设置为真。

算术状态标志: 影响算术状态标志

故障条件: 无SUB指令举例:

当指令使能时 SUB 指令使 float _value_ 1 减去 float_ value_2 并存放结果于 subtract_result 内。

4 乘法指令(MUL)

MUL 指令是一条输出指令。 操作数:

操作数

数据类型

格式

说明

源A

SINT INT DINT

REAL

立即数 标签

被乘数

源B

SINT INT DINT

REAL

立即数 标签

乘数

目的单元

SINT INT DINT

REAL

标签

存放计算结果的 标签。

说明:MUL 指令使源 A 操作数与源 B 操作数相乘并存放计算结果于目的单元。

执行:

条件:

动作:

预扫描

梯级输出条件被设置为假。

梯级输入条件为假

梯级输出条件被设置为假。

梯级输入条件为真

目的单元=源A*源B,梯级输出条件被 设置为真。

算术状态标志: 影响算术状态标志

故障条件: 无 MUL指令举例: 当指令使能时 MUL 指令使 float_value_ 1 与 float_value_2 相乘并存放结果于 multjply_result 内。

5 .除法指令(DIV)

DIV指令是一条输出指令。

操作数:

操作数

数据类型

格式

说明

源A

SINT INT

DINT REAL

立即数 标签

被除数值。

源B

SINT INT

DINT REAL

立即数 标签

除数值。

说明:DIV 指令使源 A 操作数被源 B 操作数除并存放结果于目的单元。

执行:

条件:

动作:

预扫描

梯级输出条件被设置为假。

梯级输入条件为假

梯级输出条件被设置为假。

梯级输入条件为真

目的单元=源A/源B, 梯级输出条件被 设置为真。

算术状态标志: 影响算术状态标志

故障条件: 无 DIV指令举例: 当指令使能时 DIV 指令使 float_value_ 1 被 float_value_2 除并存放结果于 divide_result 内。

6 平方根指令(SQR)

SQR 指令是一条输出指令。

操作数:

操作数

数据类型

格式

说明

SINT INT DINT

REAL

立即数 标签

计算该值的平方 根。

目的单元

SINT INT DINT

REAL

立即数 标签

存放计算结果的 标签。

说明: SQR 指令计算源操作数的平方根并存放计算结果于目的单元内。如果源操作数是负数 则指令在计算源操作数的平方根之前先计算其绝对值。

执行:

条件:

动作:

预扫描

梯级输出条件被设置为假。

梯级输入条件为假

梯级输出条件被设置为假。

梯级输入条件为真

目的单元=梯级输出条件被设置为真。 Destination=(Soure)1/2

算术状态标志: 影响算术状态标志

故障条件: 无

SQR指令举例:

当指令被使能时 SQR 指令计算value_ 1 的平方根并存放计算结果于 sqr_result 内。

7 取反指令(NEG)

NEG 指令是一条输出指令。

操作数:

操作数

数据类型

格式

说明

SINT INT DINT

REAL

立即数 标签

要取反的数值。

目的

SINT INT DINT

REAL

立即数 标签

存放计算结果的 标签。

说明: NEG 指令改变源操作数的符号并存放结果于目的单元。如果对一个负数取反则结果是 正数。如果对正数取反则结果是负数。

执行:

条件:

动作:

预扫描

梯级输出条件被设置为假。

梯级输入条件为假

梯级输出条件被设置为假。

梯级输入条件为真

目的单元=0一源操作数,梯级输出条件 被设置为真。

相关问答

PLC编程软件有那些??那个好用?-猫.的回答-懂得

PLC是可以编程的逻辑控制器简称一般比较使用比较广的有,西门子S200,S300,S400三菱的FX1N,FX2NQ系列等欧姆龙的PLCLG的PLC台大PLC。。。。很多如果你...

plc编程谁家的好用?

很高兴回答的问题!就市场占有率来看,西门子最大,其次是三菱、欧姆龙。具体谁家好用,这个不能一概而论,还取决于编程人员对其使用的熟练程度。西门子PLC又...很...

在座的大佬,麻烦问一下,哈尔滨有实力的隧道PLC编程软件,...

[回答]每个品牌的PLC软件不同,西门子的叫做step7欧姆龙的叫做cx-programmer,以前的版本叫做sysmaccpt三菱的叫做GX-developer其他二线品牌更是无数,推荐以...

怎么考电工证?成都怎么考电工证

[回答]考电工证,四川学电工技术、电工电子技术、电工维修、考电工证、电工技校有成都万通高级技工学校,位于四川省成都市龙泉驿区阳光大学城同安路6...成...

室内遮阴处适宜养护什么绿植?

[回答]万年青百合科,万年青属,性喜温暖湿润和半荫的环境,忌夏季强光直射。所以万年青很适合在卧室里养。要注意的是冬季室内温度要在6-18之间;冬季也要保...

 茅于海  肯塔基风力修正 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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