2024年5月5日发(作者:)

第34卷 第2l期 

Vo1.34 No.2l 

计算机工程 

2008年11月 

November 2008 

Computer Engineering 

・工程应用技术与实现・ 文章编号:10o0—_3428(2008)21—_0222- 3 文献标识码:A 中圈分类号:TP39 

基于VB6.0的轧染机监控软件的设计 

李红利,马

欣 

(天津工业大学计算机技术与自动化学院自动化系,天津300160) 

要:阐述在轧染机监控系统中,使用VB6.0实现上位机与Omron CJ1M PLC、Danfoss变频器和Honeywell温控表的串行通信。上位 

机与PLC之间的串行通信基于内嵌FINS命令的Host Link协议,与变频器之间的串行通信基于FC协议,与温控表之间的串行通信基于 

Honeywell DC1020温控表通信协议。设计了上位机监控软件,并在轧染机控制系统中得到了应用。 

关健诃:可编程控制器;串行通信;监控 

Design of Monitor and Control Software for 

Roll Dyeing Mill Based on VB6.0 

LI Hong-li.MA Xin 

(Dept.ofAutomation,School of Computer Technology and Automation,Tianjin Polytechnic University,Tianjin 300160) 

[Abstract]The series—communication is described in this paper,based on VB6.0,applied in the Roll dyeing mill monitor and control system, 

between Omron CJ I M PLC,Danfoss frequency converter and Honeywell temperature control meter.The series—communication between the host 

computer and Programmable Logic Controllor(PLC)is based on the host link protocol embedded FINS command.The series—communication 

between the host computer and converter is based on the FC protoco1.The series—communication between the host computer and temperature control 

meter is based on the Honeywell DC1020 temperature control meter protoco1.The monitor and control software for the host computer is designed 

and applied in the roll dyeing mill monitor and control system. 

[Key words]Programmable Logic Control1or(PLc);series—communication;monitor and control 

轧染机是用于布料染色的一种印染生产机械,在印染工 

厂中广泛使用。轧染机的控制系统中主要涉及到28台电机的 

头处,同时为便于机尾处工人操作,在机尾处放置一个触摸 

屏,除不具备变频器和温控表监控界面外,触摸屏操作界面 

与工控机操作界面相同。监控系统的组成框图如图l所示。 同步控制和10处的温度控制。每台电机由Danfoss变频器控 

制调速,温度控制采用Honeywell DC1020温控表实现,装置 

中共采用了28台变频器和1O个温控表。控制系统中采用 

Omron CJ1M PLC作为控制器,要求设计上位机监控软件。 

在监控软件中要实现上位机与可编程控制器(Programmable 

Logic Controllor,PLC)、Danfoss变频器和Honneywell温控表 

通信。与PLC通信的目的是实现装置的起停、调速等监控, 

与变频器和温控表通信的目的是定时采集变频器和温控表的 

数据并存入远程数据库。 

1系统的组成 

由于监控系统要应用于工业现场,因此上位机采用工控 

机,工控机的显示器具有触控功能,便于操作工能直接在显 

示器触控操作。上位机与PLC、变频器和温控表的通信均采 

用串行通信…。由于PLC、变频器和温控表的通信协议均不 

相同,因此各要占用一个串口,所以本监控系统要用到3个 

串口。若工控机只有2个串口,可用一个串13扩展卡再扩展 

2个串口。OmronCJIM PLC的串行口为RS232C标准,适用 

于短距离通信。变频器和温控表的串行口为RS485标准,适 

用于较长距离的通信。若工控机的串行口为RS232C接13标 

准,则需用转换器将其转换为RS485接口标准。 

通信时要求对网络中的每一台装置的地址进行设定 。 

PLC的地址为地址0,变频器的地址为地址1~地址28,温控 

图1监控系统组成框图 

2通信协议 

2.1 Omron PLC Host Link通信协议 

由于上位机要对PLC的w(工作区)、CIO(输入输出区)、 

H(保持区)和D(数据区)等存储区进行访问 ,访问中既有字 

的读写又有位的读写,因此在Host Link协议中要嵌入FINS 

命令。通信时数据传输采用ASCII字符格式,上位机向PLC 

作者简介:李红利(1978--),男,讲师、硕士,主研方向:工程技术 

及应用,智能控制;马

收稿日期:2007—12—18 

欣,讲师、硕士 

E-mail:lihongli@tjpu.edu.cn 

表的通信地址为地址1~地址l0。工控机及触控显示器放在机 

222一 

发送的命令结构如下 

起 

FINS 

始 

PL

C 

符 

LC ̄] 100000000 结束符 

PLC响应的命令结构如下 

起 

始 

址l

 l

森J

『 

oo4。。。∞ FI NS [IF品INS FCS. 结束 

符 符 

例如:上位机要修改PLC工作区W320.02位为1时,FINS 

命令码为“0102(写命令)”,命令文本为“31014002000101”。 

其中,“31”表示工作区位访问;“0140”表示十六进制320; 

“02”表示起始位为第2位;“0001”表示要访问的位数;“01” 

表示要写入的数据。最后在上述命令文本后还要加上异或和 

校验(FCS校验)码“70”和结束符“ J”。因此,上位机发送 

命令码为:“@00FA10000000001023101400200010170*J”; 

PLC的响应码为:“@00FA00400000000102000040*--1”。 

2.2 Danfoss变频器FC通信协议 

在上位机监控软件中要读取变频器的电流、频率等参数, 

因此上位机要与变频器通信。Danfoss变频器的通信协议为 

FC协议,通信时数据传输按字节发送。上位机与变频器通信 

的数据结构如下: 

起始符I 数据长度 I 变频器地址 l数据 l校验 

例如:上位机读取地址为1的变频器参数520(电机电流) 

时,发送的数据如下: 

02 l 0E l 01 l 12 I O8 1 00 1 00 l 0O l 0O l 00 l 00 I O0 l 0O l 0O I O0 l 17 

上述数据均为十六进制,其中,“02”为起始字节;“0E” 

为数据长度;“01”为变频器地址;“1”为读变频器数据;“208” 

为参数号(十进制520);“17”为异或和校验。 

变频器的响应数据为: 

02 l 0E 1 01 I l2 l 08 1 00 l 00 l 00 1 00 I O2 l 0C l 06 l 07 1 00 l 00 l 28 

其中,“02”,“0C”为电机电流数值,等于十进制的524。 

2.3 Honeywell温控表通信协议 

上位机监控软件要读取温控表的当前温度、设定温度、 

温度上限、温度下限等数值,同时也要对温控表的设定温度、 

温度上限、温度下限等数值进行修改。因此,上位机既要读 

温控表数值,又要写温控表数值,通信时数据传输按字节发 

送。读温控表时,数据结构如下: 

I璺 !I !里I 竺室兰兰I!!l兰兰兰I 塑l苎 l 

例如:上位机读取地址为2的温控表的上限温度时,发 

送的数据如下: 

07 I 52 l O2 l 00 J 4D 1 00 1 00 l A1 

其中,“4D”为参数号;“A1”为校验和。 

温控表的响应数据如下: 

07 1 4D l 00 1 00 1 00 1 04 l D2 l 23 

其中:“04”,“D2”为温控表的上限温度值,等于1 234,“23” 

为校验和(不包括首字符“07'’)。 

3监控程序设计 

上位机监控软件主要实现如下功能: 

(1)轧染机监控界面 

在此界面内主要包括各个操作按钮,利用操作按钮可对 

轧染机的各个工作机构如均匀轧车、蒸洗箱等进行单独开车, 

也可用于车速和风机转速的设定。按钮的颜色用于指示各个 

操作机构的开车或停车状态。红色表示停车,绿色表示开车 

状态。 

(2)变频器监控界面 , 

在此界面内主要用于实时显示28个变频器的频率和电 

流等参数。频率用于指示各电机的转速,电流用于指示各电 

机的输出转矩。每个变频器均有指示灯,用于指示变频器的 

通信状态。绿色表示通信正常,黄色表示通信校验错误,红 

色表示通信中断。 

(3)温控表监控界面 

在此界面内主要用于实时显示10个温控表的实际温度、 

设定温度、上限温度、下限温度等参数,并可以根据工艺的 

需要随时通过监控界面,更改设定温度、上限温度、下限温 

度等数值。 

(4)配方界面 

在此界面内主要用于显示和下载各种配方数据。配方界 

面主要包括2个表格:一个是订单数据表,另一个是配方数 

据表。订单数据表主要用于存储订单号、客户名称、交货日 

期、数量、布料的品种和颜色等信息。配方数据表主要用于 

存储布料的品、颜色和由此所决定的车速、车速上限、车速 

下限、各个温控表的设定温度、上限温度和下限温度等数据。 

当在配方表中选择某一订单数据后,则在配方数据表中会根 

据主关键字(品种和颜色)显示出相应的配方数据。 

3.1数据采集程序的设计 

数据采集程序流程如图2所示。 

有按钮被点击 100 ms定时时间到 

◆ 

1 ̄20ms ̄lOOms定时l 关闭100ms定时 

上 

向PLC发送写命令 I读接收缓冲区l 

T 

2O ms定时时间到 

启动100 ms定时 

◆ = 收数据是否 二一:>一 

关闭20ins定时 

空闲等待 丫 

发送命令读PLC内 

l刷新界面状态l 

启动100 ms定时 

启动20ms定时I 

◆ 

◆ 

空闲等待 

空闲等待 l 

圉2轧染桃监控程序漉程 

该程序主要完成与PLC、变频器和温控表的通信。在轧 

染机监控界面内要定时刷新各个按钮的状态,以反映装置的 

运行状态 】。由于装置既可以在触摸屏上操作,又可以在工 

控机上操作,触摸屏的刷新由其内部程序自动完成,而工控 

机的刷新则由编程实现。编程时主要是完成上位机对PLC的 

读操作,一次读操作的时间是大约为120 ms。为了减小总的 

刷新时间,在读取PLC时,采用多字读取命令,这样读取一 

个字即可反映16位的状态。读取时对不同的PLC内存区分 

别读取。除了读操作外,上位机还要向PLC发出写命令,以 

实现各个部分的开车、停车操作以及车速等的设定。在变频 

器操作界面内,只需对变频器进行读操作即可,主要读取电 

机的电流、频率等参数。上位机不对变频器进行控制,变频 

223— 

器只受来自PLC模拟量的控制。在温控表操作界面内,上位 

ParKinds.Size=20 

机要读取实际温度、设定温度、上限温度和下限温度等参数, 

Par

Kinds.Value=Rs

DingDan.Fields(2).Value 

同时要发送写命令以更改设定温度、上限温度和下限温度等 

Par

Kinds.Direction=adParamlnput 

参数。由于3个界面的程序类似,仅以轧染机监控界面程序 

Query.Parameters.Append Par_Kinds 

为例加以说明。VB中串行通信采用MSComm控件。 

Par

Color.Name=”颜色”’定义查询时颜色参数 

Par

Color.Type:adChar 

3.2配方程序的设计 

Par

Color.Size=10 

配方界面内主要完成对订单数据表和配方数据表的查找 

Par

Color.Value=Rs

DingDan.Fields(3) Value 

和显示操作,以及对PLC和温控表进行配方数据的写操作。 

Par

_

Color.Direction=adParamlnput 

界面内有订单数据显示表和配方数据显示表2个表格,2个 

Query.Parameters.Append Par_Color 

表格之问靠品种和颜色关键字建立关系。在订单数据表内可 

Set Rs

PeiFang=Query.Execute’执行查询 

以选择不同的订单数据,当选择不同的订单数据时,在配方 

Call Update

PeiFang 更新窗体 

数据表内就会显示出相应的配方数据。操作工可以点击下载 

End Sub 

配方按钮下载与订单数据相关的车速、车速上限、车速下限、 

在DataGridl~RowColChange事件中加入如下代码: 

各个温控表的设定温度、上限温度、下限温度和布料长度等 

Private Sub DataGridl

RowColChange(LastRow As Variant, 

数据。在窗体加载事件中加入如下代码: 

ByVal LastCol As Integer) 

Query.CommandText=”Select From配方表Where品种=? 

Private Sub Form

Load() 

and颜色=?” 

Set Conn

PeiFang=New ADODB.Connection 

ParKinds.Value=Rs

DingDan.Fields(2).Value 

Set RsDingDan=New ADODB.Recordset 

Par

Color.Value=Rs

DingDan.Fields(3).Value 

Set Rs

PeiFang=New ADODB.Recordset 

Set Rs

PeiFang=Query.Execute 

Set Query=New ADODB.Command 

Call UpdatePeiFang 

Set Par Kinds=New ADODB.Parameter 

End Sub 

Set ParColor=New ADODB.Parameter 

Dim Data

Pa也As String 

4结束语 

Data

采用工控机代替传统的触摸屏可使操作界面具有更为强 

Path=App.Path 

If Right(Data~Path,1)<>”\'|Then 

大的功能。首先工控机在数据处理方面比触摸屏具有明显的 

Data

Path=DataPath+”、1 

优势,可以处理大量的数据。其次采用工控机便于组成分布 

_

EndIf 

式网络控制系统,便于集中管理。再次采用VB6.0可编写出 

Data

Name=”Provider=Microsoft.Jet.OLEDB.4.0;” 

友好的操作界面,并可方便与各种数据库链接。监控软件投 

Data

_

Name=Data

Name&”Persist Security Info=False;” 

入运行以来系统工作稳定、可靠,受到企业的欢迎,具有一 

DataName:Data

Name&”Data Source=”&Data

Path& 

定的应用价值。 

”Pei

Fang.mdb” 

Conn

PeiFang.CursorLocation=adUseClient 

Conn

PeiFang.Open DataName 

参考文献 

—.

Rs

DingDan.CursorLocation=adUseClient’打开订单记录集 

[1]叶继荣,许东来,安连生,等.基于VB和PLC的冲击跌落试验 

Rs

DingDan.Open”订单表”,Conn—PeiFang,adOpenKeyset, 

监控系统fJ].计算机工程,2006,32(19):256—258. 

adLockPessimistic 

[2】鞠 阳.VB6在远程监测系统中的应用[J1_计算机工程,2003, 

Set DataGrid1.DataSource=RsDingDan 

29(1):206—208. 

Set Query.ActiveConnection=Conn—PeiFang 

[3]蔡锦达,张文国,刘菁冉,等.用VB实现PC机与永宏PLC的通 

Query.CommandText=”Select From配方表Where品种=? 

信Ⅲ.计算机应用,2002,22(7):57—59. 

and颜色=?…定义查询的命令文本 

[4】吴友宇,张爱民,秦神祖,等.基于VB的测功机控制的实现fJ]. 

Par

Kinds.Name=”品种…定义查询时品种参数 

Par

Kinds Type=adChar 

计算机工程,2004,3O(5):179—180. 

(上接第221页) 

参考文献 

[3】Corporaal H.Microprocessor Architecture from VUW to TTA[M]. 

[1]Palsberg J,Naik M.ILP—based Resource—aware Compilation[M]// 

New York:John Wiley&Sons Ltd一1998. 

Jerraya A,Wolf Multiprocessor Systems—on—Chips.[S.1.]: [4]Janssen J.Compiler Strategies for Transport Triggered 

Elsevier,2004. 

Architectures[D].Deflt,The Netherlands:Deltf University,2001. 

[2]Bednarski A,Kessler C.Integer Linear Programming Versus [5】Wilken K,Liu J,Heffernan M.Optimal Instruction Scheduling 

Dynamic Programming for Optimal Integrated VLIW Code 

Using Integer Programming[C]//Proc. of ACM SIGPLAN 

Generation[C]朋)rOC.of the 12th Int’1 Workshop on Compilers for 

Conference on Programming Language Design and Implement. 

Parallel Computers.A Coruna,Spain:[S.n.],2006:73—85. [S.1.]:ACM Press,20o0:121—133. 

224一