深圳市赛通电科技子有限公司 (深圳市华强北路赛格科技工业园4栋9楼 518028) 摘要 本文主要论述如何利用威达公司的牛顿7000系列产品和有线MODEM进行远端监控,实现最为离散化的DCS和经 济实用的解决方案。本文以方案选择、实现的步骤、实现结果测试等为主线,对整个解决方案进行了详尽地阐述。 关键词 DCS MODEM PSTN 牛顿7000系列 远端监控 ABSTRACT This paper introduces how to use 7000 Series products of ICP and dial-up line MODEM to make remote control. And it provides the economical and practical resolution of DCS,in order of the choice ,step, and result, etc. KEY WORDS DCS MODEM PSTN 7000Series remote-control 1、引言 随着工业计算机和控制模块化的发展,以及嵌入式控制和离散数据采集的普及,现今的工业控制系统的设计更 加简便而且可靠。 近几年,威达工控的牛顿7000系列产品在强手如林的工控市场上异军突起,以其优良的性能和产品质量保证受 到越来越多客户的青睐与好评。业内人士称之为"嵌入式控制和离散数据采集的专家"。 传统的离散控制系统(DCS)的应用虽然很广泛,但它却受到地域与空间的限制,在现代的控制系统中越来越暴 露出它的缺陷。 面对问题与挑战,威达公司提出了"利用牛顿7000系列产品和调制解调器(MODEM)进行远端监控"的解决方案。 方案主要分为三种: ■ 利用牛顿7000系列产品和调制解调器(MODEM)通过公用电话交换网(PSTN)进行远端监控 ; ■ 利用牛顿7000系列产品和无线调制解调器(Wireless MODEM)进行自由远端监控 ; ■ 利用牛顿7000系列产品和专线调制解调器(Leased Line MODEM)进行远端监控 ; 这三种方案都有其应用范围。本文中主要论述第一种方案,它是三种方案中最有价值和应用前景的方案。 2、方案的提出 随着公用电话交换网的普及,人们传输信息越来越依赖它。在工业控制的DCS系统能否也利用它实现离散控制的 问题已经推到我们的面前。我公司遇难而进,提出了自己的解决方案。 3、方案的规划 方案主要为两个部分,其一是工控现场的数据采集与控制响应;另一个是总控机房的呼叫响应与控制部分。 我们对这两部分都作了系统软硬件的测试。 下面是系统硬件简图1、2。
 4、方案的硬件实现 主要选用牛顿7000系列产品和两只拨号线MODEM,即可完成硬件的构架。 在工控现场用牛顿7188做主控,控制数据的走向和拨号查询;用牛顿7060做各种报警输入及输出;用牛顿7013做 现场的温度的采集;用牛顿7017 做模拟量的输入(反映现场湿度的状况);用牛顿7021做模拟量的输出(驱动表头或 控制其他设备);用ACE-540A提供24V工作电源。 在中心机房监控部分,用牛顿7188做主控及拨号响应;用牛顿7060做控制的输入及报警输出;用ACE-540A提供24V 工作电源。 5、方案的软件实现 5.1工控现场 5.1.1流程图见图3
5.1.2主要程序及解释 int send(char ch) /*发送一个字符*/ { outp(0x200,ch);delay(30);return 0;} int command(char* comstr) /*发送字符串*/ { intj,k;char ch; for(j=0;(ch=*(comstr+j))!=NULL;j++)send(ch);return 0;} int ready() /*查询端口状态*/ { char ch2=inp(0x205);return(ch2&0x01);} char receive() /*从端口接收数据*/ { char ch3=inp(0x200);return(ch3);} void displaynum() /*显示在LED上电话号码*/ { int a1,a2,v1,v2,v3; a1=ascii_to_hex(phonum[0]);a2=ascii_to_hex(phonum[1]); v1=ascii_to_hex(phonum[2]);v2=ascii_to_hex(phonum[3]); v3=ascii_to_hex(phonum[4]);Show5DigitLed(1,a1); Show5DigitLed(2,a2);Show5DigitLed(3,v1); Show5DigitLed(4,v2);Show5DigitLed(5,v3);} int dial() /*拨号程序*/ { reset();gets(phonum); command("ATDT");command(phonum);command("\r"); displaynum();return 0;} void Read7060() /*查询按键状态*/ { int k,m1=0,m2=0,m3=0,m4=0;char str1[20],ch; for(k=0;k<20;k++)str1[k]=NULL; Set485DirToTransmiot(2);SendCmdTo7000(2, "$036\r",0); WaitTransmitOver(2);Set485DirToReceive(2); ReceiveResponseFrom7000(2,str1,60000L,0); Ch=str1[4]; if((ch=='E')||(ch=='e')){……} /*第一个按键按下*/ if((ch=='D')||(ch=='d')){……} /*第二个按键按下*/ if((ch=='B')||(ch=='b')){……} /*第三个按键按下*/ if(ch=='7'){……} /*第四个按键按下*/ } main() { char ch,c1;int i=0,j=0; InitLib(); /*初始化*/ Init5DigitLed(); Show5DigitLed(3,17); /* ----- 等待符号 */ Show5DigitLed(1,17);Show5DigitLed(2,17); Show5DigitLed(4,17);Show5DigitLed(5,17); LedOn(); outp(0x203,0x80);outp(0x200,0x0C);outp(0x201,0x00); outp(0x203,0x03);outp(0x204,0x03);outp(0x201,0x00); outp(0x202,0x07); /*端口初始化*/ printf("Please dial number....\n");dial(); printf("Enter 's' to send;\nEnter'q' to quit\nDefault to receive\n"); InitialS(); …… Read7000();} 5.2 中心机房监控部分 5.2.1流程图见图4 5.2.2主要程序及解释 int send(char ch1); int command(char *comstr); int ready(); char receive(); 这四个与工控现场的程序相近。 void Read7060( ) /*查询端口状态*/ { int k;char str1[20],ch; for(k=0;k<20;k++)str1[k]=NULL; Set485DirToTransmit(2);SendCmdTo7000(2,"016\r",0); WaitTransmitOver(2); Set485DirToReceive(2); ReceiveResponseFrom7000(2, str1, 60000L, 0); printf("\nresponse of 7021 = %s\n",str1); ch=str1[4]; if(ch=='1')command("#01\r"); /*测量温度*/ if(ch=='2')command("#025\r"); /*测量湿度*/ if(ch=='4') /*控制表头*/ { command("#0410.000\r"); dp[0]='1';dp[1]='0';dp[2]='.';dp[3]='0';dp[4]='0';displayDP(); } if(ch=='8') { command("#0400.000\r"); dp[0]='0';dp[1]='0';dp[2]='.';dp[3]='0';dp[4]='0';displayDP();} } 其它部分程序略。 6、系统运行状况与结论 系统的运行一切正常,为了加强它的抗干扰能力,加入数字信号冗余编码(间隔重发的办法),使控制更加稳定。 用牛顿7000系列控制模块实现工业控制、智能楼宇监控使系统实现简单、可靠,用MODEM通过PSTN广泛的信息传输 网络必定成为远端控制和DCS的发展趋势。 参考文献 李鹏 计算机通信技术及其程序设计 西安电子科技大学出版社 1998 深圳网通软件公司 MODEM应用技术 电子工业出版社 1995 台湾ICP DAS 7000DI 、7188系列用户手册 1998
|