热线电话:

厦门哲讯电气自动化有限公司

主营:PLC可编程控制器模块,DCS卡件,ES...

商铺首页 > 新闻动态 > 9090-01247
厦门哲讯电气自动化有限公司
7
企业等级: 普通会员
经营模式:
所在地区: 福建 厦门
联系卖家:    QQ在线咨询1982497648
手机号码:
公司官网: shop432522607.t...
公司地址:

9090-01247

发布时间:2019-09-27 06:36:05        

AMAT 9090-01247

 随着建筑设计中楼宇智能化技术的发展,大型建筑群的供水系统也实现计算机的远程集中监控,以下介绍一个计算机监控的抽水系统,它采用VC++6.0可视化编程,通过计算机与PLC的串行通信,由PLC不断采集被控对象的状况参数,返回计算机,计算机按照控制程序方式,监控被控制对象的运行。
    1.抽水系统的组成与功能
    1.1.抽水系统的组成
    (1)抽水系统可视化界面结构如图1;
    (2)相应的数据库结构如图2;
    (3)系统共设计有八个人机对话窗体,具体功能如下表1:

 
    (4)硬件配置
    系统的硬件配置如图3所示,PLC用于开关量的输入与输出、电流数据输入,由PLC的Y0输出的开关量控制接触器KM的状态,从而实现对抽水泵工作电源控制;而Y0的状态由PLC的R0继电器控制,通过计算机远程置位和复位R0继电器,实现远程控制;在现场按钮SB1和SB2也可以对R0继电器置位和复位,实现就地合闸和分闸;K1和K2红外线接近开关分别作为满水和缺水的信号输入;抽水泵的工作电流由电流互感器变换为0-5A,再经电流变送器进一步变换为合适A/D输入的电流。A/D转换后的数字量存放在专用的WX9中,供远程监控计算机的数据采集。
 
    1.2.抽水监控系统的软件设计与功能
    (1)抽水监控系统的软件程序流程图如图4所示。
    (2)具有的电流速断和定时限过流保护功能,当计算机检测得到的电流数据大于速断电流整定值,则计算机瞬时发出分闸命令;如果大于过电流整定值,延时发出预告信号,报警后,在设定时间内不能恢复正常,计算机发出分闸命令。
    (3)建立数据库,记录抽水系统开机、关机操作员的编号、分合闸的时间、抽水方式;故障时,记录保护动作时间、动作电流值和故障类型。
    (4)抽水监控系统有具有手动,自动,定时三种抽水控制方式。选择手动时,计算机在系统启动时,直接发送合闸或分闸指令;选择自动方式时,系统启动后,计算机采集缺水信号,若接到缺水信号将发送合闸指令,开始抽水后,等待满水信号,若满水,则发送分闸指令;当选择定时方式时,系统等待设置的启动时间到,自动向抽水泵发送合闸指令;同样系统也可以等待设置的停止时间到,自动向抽水泵发送分闸指令。
    (5)操作员进入系统和退出系统需要进行登陆检查,采用安全措施进入和退出系统。登陆系统后,操作员可以修改自己的密码,只有管理员有权注册新的操作员。
    (6)系统运行的仿真示意图,实时显示抽水系统的工作状态,在计算机监控窗体增加了灯光和流程动画,直观地显示系统的运行状态,更好展现可视化的效果。
 
    2.抽水监控系统设计的技术关键
    2.1抽水监控系统的核心程序
    抽水监控系统的核心程序为系列函数:发出通信指令函数,如其中读x2状态的函数Read_x2();字符串转换并发送函数SendString(CStringm_strSend);接收信息并转换字符串函数ReadString()等。
    计算机发出查询x2状态通信帧时,调用SendString(CStringm_strSend)函数,将通信帧转换数据类型,再用SetOutput函数发送出去;PLC接收到信息后,自动返回x2的状态,计算机监测到输入缓冲区字符数到指定个数,调用ReadString()函数,接收并转换为Cstring格式的字符串。
    voidCCSXTAView::Read_x2()
    {m_com1.SetOutBufferCount(0);
    m_com1.SetInBufferCount(0);
    SendString("%01#RCSR0000**\r\n");
    Sleep(100);
    m_in=m_com1.GetInBufferCount();
    ReadString();
    x2=m_strRead;
    x2=x2.Mid(6,1);
    }
    voidCCSXTAView::SendString(CStringm_strSend)
    {charTxData[100];
    CStringm_strSend;
    m_strSend=“%01#WCSR00021**\r\n”;
    intCount=m_strSend.GetLength();
    for(inti=0;i<Count;i++)
    TxData[i]=m_strSend.GetAt(i);
    CByteArrayarray;
    array.RemoveAll();
    array.SetSize(Count);
    for(i=0;i<Count;i++)
    array.SetAt(i,TxData[i]);
    m_MSComm1.SetOutput(COleVariant(array));//发送
    }
    voidCCSXTAView::ReadString()
    {
    VARIANTvariant_inp;
    COleSafeArraysafearray_inp;
    LONGlen,k;
    BYTErxdata[2048];//设置BYTE数组An
    //8-bitintegerthatisnotsigned.
    CStringstrtemp,str;
    str.Empty();
    strtemp.Empty();
    variant_inp=m_MSComm1.GetInput();
    //读缓冲区
    safearray_inp=variant_inp;
    //VARIANT型变量转换为ColeSafeArray型变量
    len=safearray_inp.GetoneDimSize();
    //得到有效数据长度
    for(k=0;k<len;k++)
    safearray_inp.GetElement(&k,rxdata+k);
    //转换为BYTE型数组
    for(k=0;k<len;k++)
    //将数组转换为Cstring型变量
    {BYTEbt=*(char*)(rxdata+k);
    strtemp.Format("%c",bt);
    //将字符送入临时变量strtemp存放
    str=str+strtemp;
    //转换完成后赋值给字符串str
    }
    }
    2.2计算机与PLC的通信帧
    抽水监控系统的设计关键之一是计算机与PLC的通信帧,PLC的通信系统的基本协议规定通信帧有严格的格式,本系统采用松下的PLC。上述Read_x2()指令函数中的"%01#RCSR0000**\r\n"为计算机发出读PLC的x2状态的通信帧,功能说明如下表2:

 
    2.4运用VC++6.0语言编程实现对计算机的串行口的读写
    VC++6.0语言对计算机硬件有较好的控制能力,运用MSComm控件对计算机的串行口的读写控制。首先要对MSComm控件(假设名称为MSComm1,其对应的控制变量为m_MSComm1)的几个属性进行设置。
    m_MSComm1.SetCommPort(1);//设置通信端口
    m_MSComm1.SetSettings("9600,n,8,1");
    //设置通信的波特率、效验方式、数据位、停止位
    m_MSComm1.SetSthreshold(1);//设置要接受的字符数,当输入缓冲区字符书达到设置值,触发OnComm事件
    m_MSComm1.SetPortOpen(TRUE);//打开通信端口
    设置各项属性后,运用MSComm控件对串行口进行读写,将读到的内容写入输出缓冲区,再将输入缓冲区的信息读到程序去,计算机依据程序自动完成工作。
    应用m_MSComm1.GetInput()和m_MSComm1.SetOutput()属性就可以将计算机输入缓冲区的信息读到程序中和把程序中的信息输出到计算机的输出缓冲区。
    VC++6.0语言的m_MSComm1.GetInput()和m_MSComm1.SetOutput()属性发出和接收的是ColeSafeArray型数据,发送前要用SendString(CStringm_strSend)实现转换,接收后要用ReadString()实现转换为Cstring字符串。
    PLC发出命令帧后,读取PLC的返回帧需一定的时间,否则返回帧的信息还未到达输入缓冲区,程序执行不正确的信息,所以在读返回帧的程序前,设置等待时间,使用Sleep()让程序处于休眠状态等待完整的回帧的信息。
    2.4.PLC程序的配置
    1)在PLC程序要设置波特率、奇偶效验方式、数据位、停止位为“9600,n,8,1”,与计算机程序一致。
    2)在PLC程序要设置为允许计算机连接。
    3)将程序下载到PLC后,还要将PLC断电再接通电,通信设置才生效。
    3.结束语:
    运用计算机的高级语言与计算机硬件控制、计算机与PLC通信等技术,实现计算机远程监控系统的设计,本文介绍的控制系统可作为一个控制模块嵌入到大型的楼宇监控系统中;也可以根据企业生产过程的控制对象,修改相关的一些参数,作为工厂的在线监控系统。
 
免责声明
• 本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 304108043@qq.com
  • QQ在线咨询1982497648
  • 手机:
  • 联系我时务必告知是在产品网上看到的!

厦门哲讯电气自动化有限公司

商铺|诚信档案

地址:

电话:传真:

免责声明:以上信息由会员自行提供,内容的真实性、准确性和合法性由发布会员负责,产品网对此不承担任何责任。产品网不涉及用户间因交易而产生的法律关系及法律纠纷, 纠纷由您自行协商解决。

风险提醒:本网站仅作为用户寻找交易对象,就货物和服务的交易进行协商,以及获取各类与贸易相关的服务信息的平台。为避免产生购买风险,建议您在购买相关产品前务必 确认供应商资质及产品质量。过低的价格、夸张的描述、私人银行账户等都有可能是虚假信息,请采购商谨慎对待,谨防欺诈,对于任何付款行为请您慎重抉择!如您遇到欺诈 等不诚信行为,请您立即与产品网联系,如查证属实,产品网会对该企业商铺做注销处理,但产品网不对您因此造成的损失承担责任!

联系:304108043@qq.com是处理侵权投诉的专用邮箱,在您的合法权益受到侵害时,欢迎您向该邮箱发送邮件,我们会在3个工作日内给您答复,感谢您对我们的关注与支持!

商铺首页 | 公司概况 | 供应信息 | 新闻动态 | 诚信档案 | 联系我们 |

厦门哲讯电气自动化有限公司 电话: 传真: 联系人:

地址: 主营产品:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测系统卡件,汽轮机控制系统模块,燃气发电机备件

Copyright © 2025 版权所有: 产品网

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。

商盟客服

您好,欢迎莅临,欢迎咨询...