发表于:2008-08-11 14:59:55
楼主
以下将通过网络物理层连接,通讯设置,数据处理和画面显示四个方面讲述如何实现通讯的过程。
1、物理层连接:
和利时的Smartpro DCS系统的控制层网络传送数据是通过DP协议完成,为了与DCS实现最可靠的通讯,在风机控制的AB的PLC硬件中配置了一块支持DP协议的通讯接口卡,我们用DP电缆将PLC的通讯卡与和利时现场控制柜卡件
底板的DP端子连接,实现两个系统控制器之间数据通讯,再通过光缆将信号送入中控室操作站,即完成了网路物理层的连接。
2、 通讯设置:
在Smartpro DCS系统中,所有的硬件模块的配置都有一个相应的GSD文件,所以在DCS ,要将AB的通讯模块SST-PFB-CLX的GSD文件拷贝到TARGETHollySysPCBasedIO目录下,然后在硬件配置处直接添加SST-PFB-CLXFENGJI(DP_Slave),在硬件属性中设置从站的站号和名称以及通讯参数。
根据所需要通讯的变量数目,双方协商设定通讯区的大小。在通讯程序中,总共有62个通讯变量,其中模拟量输入21点,模拟量输出4点,数字量输入37点,一个模拟量点占一个WORD,而一个数字量点占一个WORD的一位,所以在DCS方,通讯区长度设定了2个16 word In和1个12 word Out。在AB 的PLC方,创建一个网络配置,设置网络参数,波特率和站号,初始化通讯参数。
在RSLOGIX5K 中设置SST-PFB-CLX 模块属性,指定一个通讯区,主站侧的输入模块对应从站侧的输出模块,所以设定了2个 16 word Out和1个12 word In。在RSLOG IX5K 的Main Program 中添加程序Profibus-config (通讯初始化程序)和TX-config (读写和处理通讯变量程序),将自己要发送给DCS的变量从内部缓冲区中拷贝到该通讯区的输出区中,并从该通讯区的输入区中读取DCS发来的数据,并将之拷贝到自己的内部缓冲区中,然后下装给PLC.
3、数据处理:
通讯设置完成后,在ConMaker中定义输入物理点变量和输出物理点变量,并将其参与组态程序中的逻辑运算,开始在程序中编写如何处理读取和写入的数据。
我们在程序中编写了4个自定义功能块,分别是:
IN_BOOL:实现功能:读由PLC传来开关量(一个WORD),通过一位位分解,输出为16个开关量。
OUT_BOOL :实现功能:把16个开关量组合成一个PLC能识别的数据(一个WORD),然后输出。
IN_REAL :实现功能:读由PLC传来模拟量,此时读上来的模拟量与DCS系统模拟量的格式不一样,需要首先进行数据高低位交换,为了使读入的模拟量有一位小数,所以我们将模拟量数据在PLC方乘10,所以在DCS上再除以10,再输出。
OUT_REAL :实现功能,先把数据乘以10,然后进行数据高低位交换,然后把数据送到PLC。
在资源中定义好需要通讯62个全局变量,添加调用功能块实现数据读写的程序,COM_PRG1 COM_PRG2 COM_PRG3,分别实现将通讯变量模拟量输入输出,数字量输入的读入和写出,然后保存编译,下装,登录与风机连接的转化13#站控制器,可以看到通讯成功后读上来和写下去的数据。
4、 监控画面显示:
在上位的FacView中,先将风机通讯中读写的变量添加到标签变量和趋势变量以及报警变量表中,在FacView Explor的图形编辑器中制作风机监控画面,将画面编译运行后,下位控制器中读写的通讯变量就可以在上位的风机流程画面上显示数据,所以在中控室就可以监控风机的运行状态,到此即完成了风机系统在硫酸中央控室操作站上的监控。