设备串口监控需要涉及的一些问题
1.串口的硬件存在很大的差异
虽然同为串口,但却有很多种硬件外形,即使都采用标准的串行硬件接口,也会因内部连线的不同而不同。这些外形各异的串口之间,唯一相同的只是都具有“串行”传输的特点。所以串口的编程也需要对硬件有较多的了解。
2.串口编程需要亲自做连接线
这个看似简单的问题,却是串口监控中很重要的一步。由于串口的硬件特性不同,导致没有一个通用的线,能满足各种串口的需要,即使是标准串口硬件接口,由于很多设备采用一些非标准的处理(如自定义针的序列号),所以连线要根据用户的定义订做,没有通用的标准。
3.协议各不相同
不同硬件之间的串口协议,几乎没有相同的。因此要监控某个设备,先获得协议是首要的一步。
4.更高的灵敏度
串口编程通常只能采用轮询(poll)的方式,在该方式下,一次只能读取某设备的一个参数,如果要读的参数很多,而整个周期会很长。这对监控的灵敏度提出了较高的要求。
5.串口编程几乎无一例外地要遵守硬件本身的特性
由于硬件设备五花八门,设备物理特性也各不相同,在无法改变硬件的前提下,只能无条件服从硬件。例如某空调要求每连续两次操作之间的间隔必须大于2秒,否则后次操作将无效。再如有些设备,会引起设备机械运动的操作甚至要多达数分钟,而这期间设备不接受任何指令。
6.在使用过程中,强烈建议不要带电插拨串口,否则串口易损坏。
7.不同类型接口不能混接
在调试过程中,要注意不同类型的接口不能混接,如RS-232C不能直接与RS-422接口相连,如果必须接,需要通过转换器转换后再接。
8.命令读取中,可以按状态的重要性决定使用次数,这样可以保证重要的数据被多次读到。
9.命令的时序性
在“设备多样性”中提到,在很多工业机械设备中,命令具有时序性,这种时序性在网口中,可以通过回调函数、多线程等方式完成,而对于串口操作中,没有这些概念,因此在处理的时候,应该把具有时序性的命令组,连同每两个命令之间的等待时间,当作是一个“命令”来处理。
更多信息请点击在线咨询!