基于现场总线的配料监控系统的设计与实现
多达360种设备,如:远程i/o、传感器、称重控制器、调节器、电磁阀、变频器、触摸屏等等。并得到220多家厂商支持,如:松下电工、大和衡器、横河、西门子、digital、nec等等,cc-link也是目前唯一能与欧美现场总线标准抗衡的亚洲产品。
上海大和的定量给料机(cfw)是作为远程设备从站形式连接cc-link现场总线的。
3.3 组态及编程
plc编程以三菱gx developer7.0为工具平台,采用符号化的梯形图编写,并充分考虑系统资源,多用宏应用,减少扫描时间,提高实时控制性。melsec-a plc为cc-link主站,由主站模块a1sj61bt11控制从站(cfc-200控制器)的运行和数据刷新,在网络组态时,可将初始化程序通过plc来完成网络设备参数的设定,写入主站的eeprom中,在运行程序中,主从站之间的数据交换是自动链接更新的,主cpu只需用from/to指令即可从缓冲存储器中存取从设备信息。
上下位机的通信选用modbus通讯协议(rs485方式),网络结构是主从结构,通信介质为双绞线,它是modicon公司早期所引用发展,是一种经典开放的串行通信协议,在工业控制领域应用非常广泛,是事实上的工业网络标准。它支持21种功能代码,并可与工厂中其它众多厂商的不同产品进行通讯。本系统中采用的modbus协议是以rtu(binary)格式封装,采用crc错误校验,可以较高的通信效率传送信息。它的衍生协议modbus/tcp可应用于ethernet设备间的通信,符合当今网络发展趋势。
3.4 监控系统详述
监控系统是以citectscada 5.30 32位工控软件为开发和运行平台,citect是世界领先的scada产品,它是基于windows nt平台用于分布式控制系统的scada软件,具有独特的“可伸缩结构”,它向用户提供了极大的应用灵活性和系统开方性,在工业自动化领域有着广泛的应用,是当今优秀的自动化软件之一。
(1) citectscada
citectscada内置一个cicode脚本的实时多任务程序语言,利用它所提供的丰富函数库,可灵活地开发出复杂的应用程序,这是它优于其它scada软件的特点之一。监控系统采用树型结构,具有多种画面调用手段,以方便操作使用。系统画面分菜单主页,配料总貌监控、设备监控、配方管理、趋势组记录、报警组记录、报表、操作日志、调试维护、帮助等画面。为保证系统的安全可靠运行,监控系统提供多级用户管理功能,
分为操作员、管理员和工程师三种权限,以保证系统的安全机制。在本配料监控系统的开发中,结合了实际工艺状况和充分利用citectscada的特长,主要完成了配方设置、流程选择和切换、流程联锁、流程起动、顺序停止、故障停止、流程报警、总量的定量控制、配料流量调节及产量统计计算等功能。
(2) 系统界面
系统部分界面图如图3、图4、图5所示。
citectscada采取了c/s结构方式,以输入/输出服务器(i/o server)形式经以太网链路(tcp/ip协议)连入工厂erp/mis,citect提供了dde/netdde,opc,odbc/sql,com/dcom,ctapi等通用方法实现基于windows应用程序和i/o之间的数据交换。本配料系统中的历史数据以odbc/sql方式访问数据库服务器microsoft sql server 7.0。而实时数据的交换,选用citectscada所提供的ctapi接口,它适合多种数据交换,使用更为灵活,它避免了各应用程序的代码冗余,提高了内存的利用率,它以dll函数提供外部的应用程序(vb,vc++等)接口,使用户应用程序可直接对citectscada的tag变量进行操作,并支持通过tcp/ip的远程ole api功能。
(3) vb调用dll函数的步骤,按先声明后调用的步骤:
vb调用dll函数的步骤,按先声明后调用原则:
·public declare function ctopen lib“ctapi.dll”(byval scomputer as string, byval suser as string, byval spassword as string, byval nmode as long) as long.
·public declare function cttagwrite lib“ctapi.dll”(byval hctapi as
long, byval stag as string, byval svalue as string) as long.
·public declare function cttagread lib“ctapi.dll”(byval hctapi as
long, byval stag as string,
byval svalue as string, byval dwlength as long) as long.
ctopen():连接citect api.
cttagread():读出citect i/o 变量。
cttagwrite():写入citect i/o 变量。
从上可见dll函数使用类似于vb自己的函数应用,非常简单。可使用户通过内部企业网上任何一台工作站来监控实时数据和查询历史数据。
4 实施总结
本配料系统投入运行至今已三年多,系统十分稳定可靠,操作维护容易,项目实施中的体会:
(1) cc-link作为第二代开放式现场总线,本系
- SHARC DSP与SJA1000的CAN总线接口设计(03-14)
- 现场总线与RS232、RS485的本质区别(12-21)
- 浅析现场总线的应用技术(12-21)
- 如何正确选用现场总线产品(12-21)
- 基于现场总线的加工中心用六轴数控系统(12-21)
- 基于现场总线的PLC控制变频造纸系统(12-21)