Modbus具有两种串行传输模式:分别为ASCII和RTU。S7-1200PLC通过调用软件中的Modbus(RTU)指令来实现ModbusRTU通信,而ModbusASCII则需要用户安照协议格式自行编程。ModbusRTU是一种单主站的主从通信模式,主站发送数据请求报文帧,从站回复答应数据报文帧。Modbus网络上只能有一个主站存在,主站在网络上没有地址,每个从站必须有一个**的地址,从站的地址范围为0~247,其中0为广播地址,用于将消息广播到所有Modbus从站,只有Modbus功能代码05、06、15和16可用于广播。出入信号可以是离散信号模拟信号。台州西门子PLC课程费用
S7-1200系列CPU都集成了PROFINET接口,可以连接带有PROFINETIO接口的远程IO设备,例如ET200SP和ET200MP等设备。下面以S7-1200CPU连接ET200SP为例,介绍S7-1200CPU作为IO控制器的配置过程。(1)组态IO控制器使用TIA博途软件创建项目,将CPU1215C作为新设备添加到项目中,本例中CPU1215C将作为IO控制器。在设备视图中为CPU1215C以太网接口添加子网并设置IP地址和子网掩码。(2)添加IO设备在网络视图和硬件目录“分布式IO-ET200SP-接口模块-PROFINET”中,选择需要的IO设备并拖入到网络视图中。为新添加IO设备分配IOO控制器(CPU 1215C).江苏电气制图课程教育机构当扫描用户程序结束后,PLC就进入输出刷新阶段。
(1)输入过程映像寄存器(I):输入过程映像寄存器与输入端相连,它是专门用来接受PLC外部开关信号的元件。在每次扫描周期的开始,CPU对物理输入点进行采样,并将采样值写入输入过程映像寄存器中。CPU可以按位,字节,字或双字来存取输入过程映像寄存器中的数据。(2)输出过程映像寄存器(Q):输出过程映像寄存器是用来将PLC内部信号输出传送给外部负载(用户输出设备)。输出过程映像寄存器线圈是由PLC内部程序的指令驱动,其线圈状态传送给输出单元,再由输出单元对应的硬触点来驱动外部负载,在每次扫描周期的结尾、CPU将输出过程映像寄存器中的数值复制到物理输出点上。可以按位,字节,字或者双字来存取输出过程映像寄存器。
S7-1200PLC的运动控制功能S7-1200CPU提供四个脉冲输出发生器。每个脉冲输出发生器提供一个脉冲输出和一个方向输出,用于通过脉冲接口对步进电机驱动器或伺服电机驱动器进行控制。脉冲输出为驱动器提供电机运动所需的脉冲。方向输出则用于控制驱动器的行进方向。PTO输出生成频率可变的方波输出。DC/DC/DC型CPUS7-1200上配备有用于直接控制驱动器的板载输出。继电器型CPU需要具有用来控制驱动器的DC输出的信号板。信号板(SB,SignalBoard)将板载I/0扩展为包含多个附加I/0点。具有两个数字量输出的SB可用作控制一台电机的脉冲输出和方向输出。具有四个数字量输出的SB可用作控制两台电机的脉冲输出和方向输出。不能将内置继电器输出用作控制电机的脉冲输出。不论是使用板载I/0、SBI/O还是二者的组合,顶多可以拥有四个脉冲发生器。设备的传感器和执行器通过前连接线连接到自动化系统。
TIA博途软件中可定义两类符号:全局符号和局部符号。全局符号利用变量表来定义,可以在用户项目的所有程块中使用。局部符号是在程序块的变量声明表中定义的,只能在该程序块中使用PLC的变量表包含整个CPU范围有效的变量和符号常量的定义。系统会为项目中使用的每个CPU创建一个变量表,用户也可以创建其他的变量表用于常量和变量进行归类和分组。在TIA博途软件中添加了CPU设备后,会在项目树中CPU设备下产生一个“PLC变量”文件夹,在此文件夹中有三个选项:显示所有变量、添加新变量表和默认变量表。“显示所有变量”包含有全部的PLC变量、用户常量和CPU系统常量三个选项。该表不能删除或移动。“默认变量表”是系统创建,项目的每个CPU均有一个标准变量表。该表不能删除、重命名或移动。西门子1200PLC使用灵活、功能强大,,可以用于各种各样的设备以满足您的自动化需求。青浦区电工课程学习
PLC为用户提供了足够的定时器和计数器,并设置了相关的定时和计数指令。台州西门子PLC课程费用
S7-1200PLC串口通信模块作为ModbusRTU从站用于响应Modbus主站的请求,需要调用“Modbus_Slave”指令。将“Modbus_Slave”指令拖入到程序时,系统会为其自动分配背景数据块,该背景数据块指向“Modbus_Comm_Load”指令的输入参数“MB_DB”
●必须先执行“Modbus_Comm_Load”指令组态端口,然后“Modbus_Slave”指令才能通过该端口通信。●如果将某个端口用于ModbusRTU从站,则该端口不能再用于ModbusRTU主站。●对于给定端口,只能使用一个Modbus_Slave指令。●“Modbus_Slave”指令必须以一定的速率定期执行,以便能够及时响应来自“Modbus_Master”的请求。建议在主程序循环OB中调用“Modbus_Slave”指令。●“Modbus_Slave”指令支持来自Modbus主站的广播写请求,只要该请求是用于访问有效地址的请求即可。对于广播不支持的功能代码,“Modbus_Slave”指令的STATUS将输出错误代码16#8188 台州西门子PLC课程费用