异构通讯按照数据类型划分,可分为4字节浮点和2字节整数,其中4字节浮点数一般用于模拟量的通讯,而2字节整数则是需要在程序页进行数据拆包,分成16个字,然后再根据所需要的状态分别组态;按照通讯格式划分,可分为整体打包和单独打包两种方式,前者便是从一个IP地址通讯开始,将所有需要的数据整体进行打包,然后在IO表里面进行拆包,提取需要的数据,而单独打包则是通过一对数据总线通讯过来,根据设备号的不同,分别进行组态解包,提取数据信息,简单来说,就是把所有需要通讯的设备口串联起来,最后由一根数据总线传输到系统。
对于异构通讯而言,要想成功地得到对方设备的传输系统,一共有六个步骤。第一步便是接线,要正确的将传输总线接到ECS-700系统的COM-741卡件上,在这里要明白的一点是要明白卡件端子的正确接线方式,保证硬件方面的准确性;其次,要明白和DCS通讯设备的通讯参数,包括设备号(通讯IP)、波特率、数据位、停止位和检验方式,这些数据是需要对方必须提供给我们的,只有通过这些参数,我们才能够通过总线和对方设备进行通讯;第三步,设置好所需要数据的功能号、开始地址和位号类型,这些数据同样需要对方提供,这样才能够将通讯方面的软件组态设置好。当这三步设置完成后,只能表明COM741卡件硬件和软件部分完成了,接下来的第四步我们需要将新增通讯位号扫描进IO表,根据位号类型和数据长度可以估算出所需要添加IO位号的数量,而第五步还需要进行对IO位号的参数设置工作,主要包含数据类型、数据格式这两个参数,根据对方设备的要求进行修改,最后保存IO表,系统下载便完成了异构通讯硬件和软件方面的组态工作。这时如果一切设置正常,在下载后的IO表中便可以看到通讯数据的具体数值。此时,也可以通过观察COM741卡件的通讯指示灯以及C-BUS指示灯来观察通讯状态,如果两个灯都处于交替闪烁的状态C-BUS指示灯常亮则表明通讯正常,否则就表明通讯链路还是存在异常的。
当通讯正常后,对于模拟量数值我们只需要根据用户方面的要求进行修改位号和描述便可以引用了,但是对于要用到的开关量来说,因为通讯过来的是一个2字节的整数,一共是16位,所以我们需要在程序页通过“UINTPARSE”功能块将数据解包,因为通过的数据格式是real型,所以还需要使用到“REAL2INT”和“INT2UINT”两个功能块,这样便完成了一个2字节通讯数据的位号解析,接下来便可以根据实际情况选择合适的引脚进行使用了
第一步,指导设备厂家接线。本次通讯采用的是485通讯,然后地址选择是拨码跳线为4的COM741卡件,采用的是1对1冗余方式(即从GDS过来一对通讯线,分别接到SYS101的ROMO基座的左右两边第一个通道246,其中2为-、4为+、6为地,按照这样的接线方式便完成了GDS到DCS的通讯接线。
第二步,确定通讯参数。例如异构通讯设备号为1,波特率为9600,数据位默认为8,停止位默认为1,校验方式通过询问第三方厂家后确定为偶校验。而模拟量数据的地址在表上是从100开始的,但是考虑到系统之间的差异性,DCS系统地址是从101开始的,且通过表可以得出模拟量数据类型为REAL型,在这里我们位号类型选择4字节浮点模入,所以需要四个字节来构成一个通道。
第三步,则需要在IO位号表里面将添加的通讯点扫描出来。进入该COM741卡件所对应的的控制器IO表,然后通过“操作/扫描通道位号/扫描新增”这样的操作,便可以将新添加的IO位号添加进组态中。
第四步,修改位号参数信息。最需要设置的参数信息有三个,数据类型、数据格式以及原始码上下限。数据类型有五种,2字节整数(有符号)、2字节整数(无符号)、4字节整数(有符号)、4字节整数(无符号)和4字节浮点数。根据通讯参数的设置参数,进行选择。比如我们在COM741中设置的数据参数为2字节整数,那么我们就需要在这里根据需要选择有符号和无符号,像这次在现场实施过程中,因为现场环境过低,从干燥器过来的温度测点显示为负数,那么这时候我们就需要用到2字节整数(有符号)。如果设置不当,则会出现通讯数值与现场不符,数据过大等问题。对于数据格式的选择问题,一般情况下,在进行设置前,要事先询问第三方厂家,获得数据排列方式,然后进行参数选择,目前数据格式在IO表中的处理有三种,字节转换、字转换和字内转换,具体代表含义在系统内部有介绍。至于原始码的问题,建议设置为最大值65535,因为通讯点过来的数值是原始码,如果通讯过来的数值超过了原始码的量程,则会导致通讯数值错误,不再变化,会导致用户对现场工况产生错误判断。
完成第四步之后,就可以进行下载了,然后根据用户实际需求,选择合适的数据进行调用,满足生产需要。