西门子CPU416F-2模块西门子CPU416F-2模块西门子CPU416F-2模块
西门子总代理商,西门子触摸屏代理商,西门子触摸屏授权代理商,西门子触摸屏
一级代理商,西门子触摸屏总代理商,西门子变频器代理商,西门子变频器一级代理商,西门子变频器总代理商,西门子变频器授权代理商,
西门子PLC代理商,西门子PLC总代理商,西门子PLC一级代理商,西门子PLC授权代理商,西门子PLC代理商,西门子PLC分销商,西门子CPU
代理商,西门子CPU一级代理商,西门子CPU总代理商,西门子CPU代理商,西门子CPU代理商,西门子电缆代理商,西门子电缆一级代理商,西门子电缆总代理商,西门子电缆授权代理商,西门子电缆分销商,西门子电缆代理商
数据的传输方式有并行和串行两种,其中并行是指同一时刻可以传输多个bit位的信号,有多少个信号位就需要多少根信号线;而串是指同一时刻只能传输一个bit位的信号,只需要一根信号线,如下图所示。PLC与其他设备的通信就是以串行的方式进行的。
所以文章所谓的通信指令是基于串行的传输方式,这次先分享串行数据传送指令RS与校验码指令CCD,下次接着分享十六进制字符转ASCII码的交换指令ASCI与ASCII码转十六进制字符的交换指令HEX。
01、数据传送指令RS
RS指令是PLC与外围设备进行数据传输的控制指令,从编程手册截图可以看到,RS指令不可用于32位,也没有脉冲执行型,它有4个操作数,源址 S· 和和终址 D· 只能是数据寄存器D,还有两个操作数n、m可以是常数K、H和寄存器D。RS指令的梯形图形式图下图所示。
源址S是所发送数据的字元件首址,D是需接收数据的字元件首址;而m是发送数据的个数,n是接收数据的个数,其中n、m的取值范围为0~4096且n m≤8000。这里要注意的数是,S和D不能使用相同编号的数据寄存器,但m和n可以使用同一数据寄存器。在驱动条件成立时,RS指令告诉PLC做好准备,接下来将要发送m个以S为首址的数据,并接收n个以D为首址的数据。
例上图所示的执行指令RS D0 K5 D100 K10 ,X0置ON,寄存器D0~D5的开始做好发送数据的准备,而D100~D110也开始做好接收数据的准备。即RS指令执行时,数据并没有马上开始传输,而是处于待命状态。
RS指令的应用,会涉及到几个特殊软元件,即下图所示的D8120、M8161、M8122、M8123。所谓通信格式字,简单来说就是PLC与外围设备进行数据传输时所约定的数据格式,例如数据传输怎么开始、如何结束、波特率为多少(每秒传输bit位的个数)等。
所以,在应用RS指令进行通信前,应先确定通信格式字。这有点像打篮球,比赛时跟队友沟通用手势进行,什么手势进攻、什么手势挡拆、什么手势用什么战术等,这都得事先约定。
M8161的不同状态决定了RS指令对数据的处理方式:低8位模式或16位模式。
所谓低8位,是指RS指令只对源址S和终址D的低8位数据进行传送和接收,而忽略高8位的数据。同理,所谓16位模式是指RS指令对源址S和终址D的16位数据均做发送和接收处理。例如PLC要发送数据:H01、H23、HAB、HCD,接收数据:H45、H67、H89。
(1)若M8161=ON,如下图所示,每个数据寄存器只有低8位用于保存所需的数据,而高8位为零,不做处理。
(2)若M8161=OFF,如下图所示,每个数据寄存器共有16位,均用于存放数据,与低8位模式相比,少用了一半的数据寄存器。具体用什么模式根据实际情况而定,一般是采用低8位的数据处理模式。
由M8161的功能和用途可以发现除RS指令外,CCD、ASCI、HEX指令对数据的处理模式也是由M8161的状态控制。也就是说,程序中,一旦M8161的状态被设定,RS、CCD、ASCI、HEX指令对数据的处理模式均相同。
SIEMENS | 交换机 | 6GK5216-0BA00-2AC2 |
SIEMENS | 交换机 | 6GK5208-0BA00-2AC2 |
Siemens | 模块 | 6ES7288-1CR60-0AA0 |
Siemens | 水晶接头 | 6GK1901-1BB10-2AB0 |
Siemens | 模块 | 6ES7134-6GD01-0BA1 |
合信 | 模块 | CTH2214-1AX33-0X24 |
SIEMENS | 存储卡 | 6ES7954-8LC03-0AA0 |
Siemens | 模块 | 6ES7231-5PF32-0XB0 |
SIEMENS | 变频器 | 6SE6440-2UD34-5FB1 |
SIEMENS | 模块 | 6ES7174-0AA10-0AA0 |
Siemens | 模块 | 6ES7131-4BB01-0AA0 |
SIEMENS | 模块 | 6ES7132-6BF01-0BA0 |
Siemens | 交换机 | 6GK5116-0BA00-2AC2 |
Siemens | 软件 | 6ES7810-4CC10-0KA5 |
Siemens | DP接头 | 6GK1500-0FC10 |
Siemens | 软件 | 6ES7811-1CC05-0YA5 |
Siemens | 软件 | 6ES7810-4CC08-0YA5 |
Siemens | 存储卡 | 6ES7954-8LF03-0AA0 |
Siemens | 模块 | 6ES7431-7KF00-0AB0 |
西门子 | 模块 | 6ES7231-4HA30-0XB0 |
特殊继电器M8122和M8123是数据发送或接受的标志继电器,它们的状态直接决定了数据是否传输。
若把数据传输看成赛跑,则执行RS指令就相当于裁判喊:“预备!”,此时各选手做好蹲踞;M8122置ON,相当于裁判喊:“跑!”,选手们开始跑步,即数据开始传送,M8123也是类似的道理。
下图为RS指令应用的梯形图示例,在数据发送和接收之前,先确定好数据处理模式和写入通信格式字,如图中的H0C87为一种通信格式字。
将所需发送的数据先保存到D0~D9,然后将M8122置ON,开始发送数据,数据发送完毕后,继续接收数据并相继保存到PLC的D100~D109中,数据接收完毕后,M8123自动置ON,此时PLC将D100~D109所存的数据转存到D300~D309中,*后将M8123复位,为下一次数据接收作准备。数据传送指令RS的理解并不简单,毕竟是通信,说到通信,我流了一地的辛酸泪。RS指令在平时用得不少,希望大家认真学习哦。
02、校验码指令CCD
所谓校验,简单来说,就是判断数据传送时所传送的数据的正确性。而校验码就是校验的结果,不同的校验方式有着不同的校验结果。校验码指令CCD就是针对求和校验和异或校验而设计的,其编程手册截图如下图所示。
所谓求和校验,是指将参与校验的数据求和,将求和结果的低8位作为校验码。例如求数据H12、H23、H34、H45、H56的求和校验码,直接将这几个数据相加等于H104,取低8位为H04就是其求和校验码。
同理,异或校验,就是将参与校验的数据依次按位进行异或运算,*终结果即为异或校验码(列偶校验码)。如下图所示,求数据H12、H23、H34、H45、H56进行异或检验,先将H12与H23按位异或,结果为H31,然后将H31与H34按位异或……*终结果为H16,即异或检验码为H16。
从编程手册截图可得,CCD指令不可用于32位,有脉冲执行型和连续执行型两种,操作数有3个。其梯形图形式如下图所示,源址S为参与校验的数据存储字元件首址;终址D为求和校验码存储字元件地址,其D 1为存储列偶检验码的地址;n为参与校验数据的个数,取值范围为0~256。
当驱动条件成立时,对S所存的数据分别求解其求和校验码和列偶校验码,并存到终址D和D 1中。例如执行指令CCD D0 D100 K10,对D0~D9的数据求解其求和校验码和列偶校验码,并将求和校验码存到D100中,将列偶校验码存到D101中。
在上文中提到,特殊继电器M8161的状态也决定了CCD指令的数据处理模式。若M8161=ON,CCD指令为8位数据处理模式时,仅对首址为S的n个数据寄存器的低8位数据进行求和、异或,而为16位数据处理模式时,将首址为S的n个数据寄存器的高8位、低8位看成两部分,分别进行求和、异或。
例如执行指令CCD D0 D100 K3,其中(D0)=H0123,(D1)=H2345,(D2)=H3456。(1)若M8161=ON,对D0~D2的低8位进行校验,求和校验码为H23 H45 H56=HBE,列偶校验码为H30;(2)M8161=OFF,对D0~D3的16位进行校验,求和校验码为H23 H01 H45 H23 H56 H34=H16(结果为H116,取低8位),其中H01、H23、H34分别为D0D2的高8位,同理可得列偶校验码为H26。
Siemens | 电池板 | 6ES7288-5BA01-0AA0 |
Siemens | 交换机 | 6GK5004-1BD00-1AB2 |
SIEMENS | 电源 | 6ES7288-0CD10-0AA0 |
Siemens | 模块 | 6ES7223-1BH32-0XB0 |
Siemens | 模块 | 6GK7443-5DX05-0XE0 |
Siemens | 触摸屏 | 6AV6640-0DA11-0AX0 |
Siemens | 模块 | 6ES7288-3AR02-0AA0 |
Siemens | 模块 | 6ES7132-6BH01-0BA0 |
SIEMENS | 模块 | 6ES7231-5PD32-0XB0 |
Siemens | 模块 | 6ES7223-1PL32-0XB0 |
Siemens | 模块 | 6ES7960-1AA08-0XA0 |
SIEMENS | 模块 | 6ES7132-6BF01-0AA0 |
SIEMENS | 存储卡 | 6ES7954-8LL03-0AA0 |
SIEMENS | 交换机 | 6GK5216-0BA00-2AC2 |
SIEMENS | 交换机 | 6GK5208-0BA00-2AC2 |
- 西门子CPU224XPCN中央控制器 2023-11-04
- 宜宾西门子S7-1200代理商 2023-11-04
- 浔之漫触摸屏6AV6648-0DC11-3AX0 2023-11-04
- 海南西门子S7-1200代理商 2023-11-04
- 河源西门子一级代理商 2023-11-04
- 西门子PLC主机CPU224CN 2023-11-04
- 汕尾西门子触摸屏一级代理商 2023-11-04
- 西门子PLC模块CPU224CN AC/DC/RLY 2023-11-04
- 西门子PLC继电器模块供应CPU224CN 2023-11-04
- 崇左西门子S7-1200代理商 2023-11-04