触摸屏代理商上海PLC模块代理触摸屏代理商上海PLC模块代理
上海SIEMEN西门子触摸屏授权总代理商,上海西门子触摸屏授权一级代理商,金华西门子模块授权一级代理商,宁波西门子CPU模块一级代理商、西门子交换机模块
西门子S7-1500内存卡6ES7954-8LF02-0AA0西门子S7-1500内存卡6ES7954-8LL02-0AA0
西门子S7-1500内存卡6ES7954-8LP01-0AA0
西门子S7-300模块6ES7331-7KF02-0AB0西门子S7-300模块6ES7331-7KB02-0AB0西门子S7-300模块6ES7331-7NF00-0AB0
西门子S7-300模块6ES7331-7NF10-0AB0
自由口通信中的第二种方式(空闲线)用于判断消息起始的过程。
空闲线概念:
空闲线条件定义为传输线路上的安静或空闲时间(即在传输线路中没有信号的变化)。
在串行异步通信的过程中,信息的发送时以位的方式进行传输,每一个位的状态为“0”或是为“1”,对于传输线路来讲传输“0”或是“1”则传输线路上会表示为不同的电平,有电平的变化,则说明不是一个安静或是空闲的状态,若有数据进行传输时,那么这个安静或是空闲的状态维持的时间就不够长或是没有,就算发送的数据全部是0或是1来讲,也会有电平的变化,因为一个字符中起始位用“0”表示,停止位用“1”表示。但当不发送数据时,传输线路中并没有电平的变化,则就可以产生一段安静或是空闲的状态。
在串行异步通信中的数据传输过程中,是一个字符一个字符接着发送的,发送完个字符后发送第二个字符,每个字符的发送都是以位的方式一个一个位进行传输的。在数据传输的过程中,这个传输线路上的安静或空闲的时间段比较端,但如果没有数据发送的时候,空闲或是安静的时间会比较长,我们可以在启动接收指令后,就开始侦测传输线上的空闲或安静时间,如果空闲或安静时间到了,也没有接收到数据,说明这段时间线路上是没有数据的传输的,过了空闲时间后,接收到了数据,则说明有数据开始传输了,可以把接收到的个字符就认为是这条信息的起始,是一个有效的字符把它存储到接收缓冲区中。
若在启用了接收指令后,开始检查传输线路中空闲线的时间,但在空闲线的设定的时间内接收到字符,这时PLC会认为这并不是一个完整的消息,可能接受到的是一条信息中某个段的数据,不把他作为一个有效的数据,PLC会丢弃接收到的这个字符重新启用空闲线检测。过程如下图所示:
空闲线时间的设置:
要使用空闲线的时间去作为消息的起始的判断必须要做以下两个设置:
(1)设置接收功能的控制字节,告诉PLC使用空闲线作为消息的起始判断
(2)设置空闲线的时间长度。
控制字节的设置如图所示:
使用空闲线的时,需要把控制字节中的SM87.4/Sm187.4 设置为1,表示使用空闲线检测起始。
设置空闲线时间的长度:
空闲线时间的长度设置:可以使用传送指令给SMW90(port0)或是SMW190(port1)设置空闲线的时间,空闲线时间设置的长度通常为3.5个字符的时间长度,
假设通信格式设置中为1个起始位,8个数据位,无奇偶校验,1个停止位,9600bps,则一个字符的传输时间为1ms多一点的时间,3.5个字符的时间长度,我们可以把空闲线时间设置为4ms。
下面以空闲线作为消息的起始,以结束符(16#26 )作为消息的结束为例,设计一段接收的程序来说明设置过程:
触摸屏代理商上海PLC模块代理触摸屏代理商上海PLC模块代理触摸屏代理商上海PLC模块代理西门子触摸屏代理商西门子电源模块代理商西门子CPU模块代理商西门子电源模块代理商西门子电缆代理商西门子变频器代理商软件代理商电缆代理商