浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
西门子6ES7231-7PD22-0XA8详细使用

西门子6ES7231-7PD22-0XA8详细使用

由于PLC 编程软件的不同,西门子S7-200与S7-300/400系列PLC用于梯形图编程的指令有所区别,具体如表9-1.3所示。图中有部分指令为非通用,只能在S7-200中使用(或只能在S7-300/400中使用)。


    (1)触点装载指令
    在S7-200 PLC中,与其他公司的PLC -样,对于与梯形图的母线相连接的开始触点,需要采用触点装载指令LD作为开始。但是,在S7-300/400中,则是直接以逻辑运算指令代替触点装载指令(见图9-1.6)。

    [例1]对于图9-1.6所示的梯形图,在S7-200中的指令表程序为:
    在S7-300/400中的指令表程序为:
Network 1
A   IO.I
A   10.2
AN  10.3
=  MO.O
Network 2
A(
O  IO.I
0  10.2
O  I0.3
 )
AN I0.4
     MO.1    
    (2)括号的使用
    与数学运算一样,在S7-300/400 PLC中,逻辑运算遵守“先与后或”的原则进行,因此,对于需要先进行“或”运算的场合,需要通过括号来调整运算的先后次序,括号的意义与数学运算相同。在PLC编程时,对于左括号“(”,应紧跟逻辑指令代码之后,如“A(”、“O(”等;右括号应单独作为一个指令行,参见例9-1中在S7-300/400中的指令表程序。(信息来源:www.dqjsw.com.cn)

    (3)“异或”与“同或”指令
    当需要对两个信号进行“异或”或者“同或”运算时,在S7-300/400 PLC中可以直接使用“异或”与“同或”指令。
    【例2】对于图9-1.7所示的梯形图,在S7-200中由于没有“异或”、“同或”指令,编程时只能使用“堆栈”操作指令“OLD”实现,指令表程序如下:但在S7-300/400中则可以直接使用“异或”、“同或”指令实现,指令表程序如下:
Networkl
XI0.1
XI0.2
=
Network2
X    I0.1
XN    10.2
=     MO.1
(4)结果“置位”、“清除”、“保存”指令
    在S7-300/400 PLC中,利用指令SET、CLR、SAVE可以直接对当前的逻辑运算结果进行置位、复位与保存操作。
  力了可靠地检测、保存、记忆S7程序中的逻辑运算、数学运算指令的执行结果状态,在S7-300/400 PLC中,设有一个专用的16位状态寄存器。状态寄存器中有2个状态位与逻辑指令的结果有关。
    ①RLO位:RLO位称为“逻辑运算结果”状态位,用于存放逻辑运算、逻辑比较指令的执行结果:
    ②BR位:BR位称为“布尔运算结果”状态位。当处理的程序段中既有位逻辑运算,又有字逻辑运算时,BR用于存放字逻辑运算指令的执行状况,当“字逻辑”运算指令被正确执行时,该位为“1”,否则为“0”。
    通过指令SET、CLR,可以无条件将PLC的逻辑指令执行结果状态寄存器的RLO位直接设置成“1”或“0”,而不论前面的执行情况任何。通过指令SAVE,则可以将RLO位的状态写入到BR中。

一、概述

很多自动化工程师在实际应用中使用组态软件与PLC进行modbus通讯,组态软件作为主站PLC作为从站。组态软件来采集PLC数据使用这种方式是比较常见的。但是反向的利用modbus协议让PLC去读组态软件里的数据确有着特殊的意义,在某些工控场合也是很好解决方案。紫金桥软件在组态软件行业里首先推出了modbus server,既紫金桥modbus server可以作为modbus从机为其他软件和硬件设备提供数据,在这篇文章中对此功能我们详细地加以介绍。

二、S7-200 Modbus主站的实现

1、S7-200 Modbus 通信协议介绍

Modbus 是一种单主站的主/从通信模式。Modbus 网络上只能有一个主站存在,主站在 Modbus 网络上没有地址,从站的地址范围为 0 - 247,其中 0 为广播地址,从站的实际地址范围为 1 - 247。在 S7-200 CPU 通信口上实现的是 RS485 半双工通信,使用的是 S7-200 的自由口能。S7-200支持 Modbus 通信协议: S7-200 CPU 上的通讯口 0 和 1 (Port 0 和 Port 1)通过指令库支持 Modbus RTU 主站模式。

2、S7-200 Modbus主站的配置

西门子在 Micro/WIN V4.0 SP5 中正式推出 Modbus RTU 主站协议库(西门子标准库指令)。要使用 Modbus RTU 主站指令库,须遵循下列步骤:

⑴安装西门子标准指令库

⑵按照要求编写用户程序调用 Modubs RTU 主站指令库 Modbus RTU 主站功能编程使用 SM0.0 调用 MBUS_CTRL 完成主站的初始化,并启动其功能控制:

具体参数的解释如下:

EN使能:必须保证每一扫描周期都被使能(使用SM0.0)

Mode模式:常为1,使能 Modbus 协议功能;为0 时恢复为系统 PPI 协议

Baud波特率:设为9600,要与从站波特率对应

Parity校验:校验方式选择 0=无校验

Timeout超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1秒),允许设置的范围为 1-32767。注意:这个值必须设置足够大以保证从站有时间响应。

Done完成位:初始化完成,此位会自动置1。可以用该位启动 MBUS_MSG 读写操作

Error初始化错误代码(只有在 Done 位为1时有效):

0=无错误

1=校验选择非法

2=波特率选择非法

3=模式选择非法

⑶调用 Modbus RTU 主站读写子程序MBUS_MSG,发送一个Modbus 请求;

如图1所示,具体参数设置如下:

Slave从站地址:可选择的范围 1-247

RW读写操作:0=读, 1=写

注意:1. 开关量输出和保持寄存器支持读和写功能

2. 开关量输入和模拟量输入只支持读功能

Addr读写从站的数据地址:选择读写的数据类型 00001至0xxxx-开关量输出10001至1xxxx-开关量输入

30001至3xxxx-模拟量输入

40001至4xxxx-保持寄存器

Count通讯的数据个数(位或字的个数)

注意: Modbus主站可读/写的大数据量为120个字(是指每一个 MBUS_MSG 指令)

DataPtr数据指针:1. 如果是读指令,读回的数据放到这个数据区中

2. 如果是写指令,要写出的数据放到这个数据区中

Done读写功能完成位

 

图1西门子Modbus RTU 主站协议库

 

三、紫金桥软件Modbus从站的实现

1紫金桥modbus server的设置

Modbus 服务器可以把紫金桥数据库中的点映射为Modbus 设备的HR 寄存器,当前版本为3.0,支持串口和TCP/IP访问方式,支持HR区的读和写方式。也就是说支持03、06、16 号命令。

具体操作是先在紫金桥软件的安装目录中找到 ModbusSerSet.exe 并运行。其中左侧为变量配置显示区,它分为三列,分别是序号、数据库位号和Modbus 地址。后两列的意义是把某一个数据库位号和一个Modbus 地址建立映射关系。然后再调出系统设置对话框配置从机地址、串口等参数或以太网端口号、数据格式等。

2、通讯过程

配置完成后,先运行紫金桥软件然后在紫金桥软件的安装目录中找到 ModbusServer.exe 并运行。

从上面的通讯过程看到,S7-200与紫金桥modbus server通讯的响应速度为毫秒级的。


展开全文
优质商家推荐 拨打电话