异步通信与同步通信:同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。异步通信异步通信中,在异步通信中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此**,互不同步。接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕.PLC内的定时器又称计时器,用于时间控制。浙江西门子200Smart PLC课程中心
S7-1200PLC提供3中计数器:加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数速率受到它所在的OB的执行速率的限制。如果需要速度更高的计数器,可以使用内置的高速计数器。与定时器类似,使用S7-1200的计数器时,每个计数器需要使用一个存储在数据块中的结构来保存计数器数据。在程序编辑器中放置计数器即可分配该数据块,可以采用默认设置,也可以手动自行设置。使用计数器需要设置计数器的计数数据类型,计数值的数据范围取决于所选的数据类型。计数器支持的数据类型包括短整数Sint、整数Int、双整数Dint、无符号短整数USint、无符号整数UInt、无符号双整数UDint。宝山区三菱PLC课程实训基地西门子1200块的结构,OB、FB、FC都包含代码,统称为代码块(Code)块。

模拟量模块的地址分配模拟量模块以通道为单位,一个通道占一个字(2byte)的地址,所以在模拟量地址中只有偶数。S7-1200PLC的模拟量模块的系统默认地址为I/QW96~I/QW222。一个模拟量模块*多有8个通道,从96号字节开始,S7-1200给每一个模拟量模块分配16B(8个字)的地址。号槽的模拟量模块的起始地址为(N-2)X16+96,其中N大于等于2。集成的模拟量输入/输出系统默认地址是I/QW64、I/QW66;信号板上的模拟量输入/输出系统默认地址是I/QW80。对信号模块组态时,CPU会根据模块所在的槽号,按上述原则自动的分配模块的默认地址。双击设备组态窗口中相应模块,其“常规”属性中都列出每个通道的输入和输出起始地址。在模块的属性对话框的“地址”选项卡中,用户可以通过编程软件修改系统自动分配的地址,一般采用系统分配的地址,因此没必要死记上述的地址分配原则。但是必须根据组态时确定的I/O点的地址来编程。
S7-1200PLC之间的PROFINETIO通信及其应用S7-1200PLCCPU固件V4.0开始支持PROFINETIO智能设备(I-Device)功能,即S7-1200CPU在作为PROFINETIO控制器的同时还可以作为IO设备。S7-1200CPU作为I-Device时,可与S7-1200、S7-300/400、S7-1500以及第三方IO控制器通信。以下用一个例子介绍S7-1200CPU分别作为IO控制器和IO设备的通信。例有两台设备,分别由两台S7-1200CPU控制,一台为1215C另一台为1211C。要求从设备1CPU1215C上的MB10发出一个字节到设备2CPU1211C的MB10,从设备2上的CPU1211C发送一个字节MB20到设备1的CPU1215C的MB20,要求设备2(CPU1211C)作为I-Device.三菱plc基本指令LD是指取反,LDI是指反指令。

(6)高速计数器(HC):用来累计比CPU的扫描速率更快的事件。当前值为32位有符号整数。(7)累加器(AC0~AC3):32位,可以按字节、字和双字来访问累加器中的数据。按字节、字只能访问累加器的低8位或低16位。常用于向子程序传递参数和从子程序返回参数,或用来临时保存中间的运算结果。(8)局部存储器(L):各POU都有自己的64字节的局部存储器,**在它被创建的POU中有效。作为暂时存储器,或给子程序传递参数。(9)顺序控制继电器(S):用于顺序控制编程,实现控制程序的逻辑分段。可以按位、字节、字或双字访问S存储器。伺服驱动器是现代运动控制的重要组成部分,被应用于工业机器人及数控加工中心等自动化设备中。江苏西门子200Smart PLC课程
三菱plc编程运动控制:脉冲加方向控制、正反方向控制、双向AB脉冲控制。浙江西门子200Smart 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 浙江西门子200Smart PLC课程中心