西藏地区西门子模块总代理
优势
安全逻辑可自由组态,功能性和灵活性增强
符合生产自动化的高安全要求,适用于所有安全型应用
符合全球所有与产品相关的认证,适用于全球使用
模块化的硬件配置
通过软件进行参数设置,无需布线
可拆卸端子使得工厂可用性显著提高
通过 AS-Interface 分布式检测传感器并断开执行器
所有逻辑功能也可用于 AS-Interface,如屏蔽、带锁定机构的防护门
AS-i 总线上有多达 12 个独立的安全关断组
通过 AS-Interface 可以清晰扩展项目数据量
每个系统多 50 个双通道使能电路
3RK3 模块化安全系统可通过通信模块连接到 PROFINET 或 PROFIBUS,并与上层控制系统交换数据。
MSS 尤其支持:
循环和非循环数据(数据记录)
使用 MSS Basic 的 32 位循环数据交换或使用 MSS Advanced/MSS ASIsafe 的 64位循环数据交换
通过数据记录调用进行诊断
经由现场总线,通过 Safety ES 进行访问
使用 Advanced 和 ASIsafe“基本型”和“扩展型”中央单元,3RK3 模块化安全系统可集成在AS-Interface 中。
MSS 可以读取并评估多 31 个 AS-i 模块的 I/O 数据。
每个 MSS 的多 12 个安全输出信号可以置于 AS-i 总线上,以切换安全 AS-i 输出模块或用于多个 MSS站之间的故障安全背景流量。
多个 MSS 站之间或一个 MSS 与 AS-i 安全监控器之间的安全交叉通信
AS-i 总线上也可输出标准信号(例如,用于确认)
将 MSS 集成到 AS-Interface
注意:
具有通信功能的 MSS,请见“3RK31 中央单元”
有关带有 ASIsafe 的 AS-Interface 的更多信息, 请参见 “工业通信”。
关于 SIRIUS Safety ES 的详细信息,请见“SIRIUS 的参数设置、组态和可视化”。
在S7-200SMART系列PLC中的库指令中集成了MODBUSRTU通信的库指令,库指令中包含了S7-200SMART系列PLC作为主站功能的库指令及S7-200SMART系列PLC作为从站功能的库指令(如下图所示)
在这里我们主要介绍下主站的库指令,主站的库指令中根据所使用的通信口的个数不一样分为两个,若使用时PLC的本体的RS485端口需要作为modbus的主站功能,而扩展的RS485的信号板又需要作为MODBUS的主站的功能,那么前者使用个主站库的指令,后者可以使用第二个主站库指令,每个主站库指令中都有两个指令,分别为初始化指令MBUS_CTRL,数据读写发送请求指令MBUS_MSG指令。下面我们对这两个指令的意思以及指令上的管脚进行一些说明:
MBUS_CTRL指令
EN:
初始化指令使能端,需要保持每个扫描周期都接通
Mode:
通信协议的选择,若需选择MODBUS RTU通信,这需要保持该位为1状态,此处可以使用SM0.0接通。
Baud:
通信波特率的设置
Parity:
奇偶校验的选择,0表示无校验,1表示奇校验,2表示偶校验
Port :
端口号设置,若使用PLC本体上的RS485端口,则应选择为0(注意S7-200PLC中的库指令中的MBUS_CTRL没有此管脚)
Timeout:
该参数用于确定 Modbus从站设备是否对主站发出请求做出响应。若达到设定值后,还未获得从站的响应,则PLC认为从站出问题,MBUS-MSG指令中的故障代码存储器中会存储相应的故障代码,完成位的状态为1。
Done:
完成位,当初始化完成后,该位的状态为1,编写程序时,可以根据这个完成位来判断初始化是否完成,完成后可以用于激活MBUS_MSG指令进行数据请求的发送。
(
初始化完成后,至少需要过一个扫描周期后,才能去激活MBUS-MSG指令,否则可能通信不成功)
Error:
故障代码存储器(使用一个字节进行存储),当初始化出现错误后,在故障存储器中会产生一个代码,查看指令帮助中的代码说明,可以查看到可能出错的原因是什么。
MBUS_MSG指令
指令的使能
MBUS_MSG指令使用时一定要注意的一点就是,同一个扫描周期内,只能由一条MBUS_MSG的EN端的状态为1.如果在一个扫描周期内出现2条及2条以上的
MBUS_MSG的EN端的状态为1的情况。则MBUS_MSG指令中的故障代码的值会为6,通信会不成功。
First:
触发请求,仅保持一个扫描周期的时长 ,在使用时需要使用沿脉冲进行触发。
Slave:
从站站号,根据从站中设置的地址进行填写
RW:
读写操作选择,0表示读,1表示写,若控制变频器运行,使用写的功能,若需要读取变频器的电流等需要用读的命令。
Addr:
起始的MODBUS寄存器地址,此地址使用时一定要正确编写。
MODBUS寄存器的地址,根据功能码的不一样,主要有4种类型的表示方式,分别为
0(读写线圈状态),1(读开关输入状态),3(读输入寄存器),4(读写保持寄存器)
四种类型,对于第四种类型4的类型,地址可以扩展,扩展为4X六位数的类型格式。
各功能码对应的MODBUS地址寄存器类型如下图所示,
而每种地址的起始地址都是从0001开始,都是以十进制数进行表示的。
地址类型确认后,如何来确定输入的地址呢?
该地址的确定与在上篇文章中提到的MODBUSRTU信息帧格式中的Data内容有关,Data的内容包括两部分内容,一部分内容为数据区的地址,一部为数据区的内容,则此处的MODBUS寄存器的地址与数据区的地址有关。如图所示:
此处中的数据区的地址,指的是寄存器地址,从图中可以看到他的范围是从十六进制数的0000到十六进制数的FFFF,从这我们可以看到功能码为06,对应的寄存器地址是0000的时候,那么在我们MBUS_MSG指令中的Adder的地址应填写为40001
(因为都是表示的个地址,需要一一对应上)。
根据这个计算方法,我们可以写出控制变频器运行的寄存器地址对应都MBUS_MSG指令中Adder的地址为:
功能码为06,类型为4的类型,地址为16#3200,相对于16#0000来讲,偏移了12800.(此为十进制数)对应到MBUS_MSG指令中的地址为在1的基础上上偏移12800,即12801,而功能码06对应的类型为4,我们在使用时应在MBUS_MSG指令的Adder出填写412801这个地址。
Count:
读写的格式,表示从adder这个管脚指的的地址开始的连续多少个地址进行数据的读写。
Dataptr:
读写数据存放的地址,使用指针的方式表示,实际地址以十六位的方式表示,假设使用的地址是&VB100。前面的指令管脚定义的是对变频器运行命令的控制,则当把16#1001写入到VW100中,则电机正转运行,若把16#1003写入到VW100中,则表示的是反转运行。
若是读取的功能,假设MBUS_MSG指令中adder为413077,count为2,Dataptr为&VB102,则表示把413077这个地址中的数据读取出来存放于VW102,把413078的数据读取出来存放于VW104中。
完成位。当执行完成后,该为位1,当出现需要使用多个MBUS_MSG指令是,可以使用每个指令的Done来实现轮询的功能。
故障代码存储器,方便查询通信故障。