您当前的位置:五五电子网电子知识plc技术PLC入门抽水系统的计算机监控设计介绍 正文
抽水系统的计算机监控设计介绍

抽水系统的计算机监控设计介绍

点击数:7402 次   录入时间:03-04 11:44:18   整理:http://www.55dianzi.com   PLC入门

1.2.抽水监控系统的软件设计与功能

(1)抽水监控系统的软件程序流程图如图4所示。 
(2)具有的电流速断和定时限过流保护功能,当计算机检测得到的电流数据大于速断电流整定值,则计算机瞬时发出分闸命令;如果大于过电流整定值,延时发出预告信号,报警后,在设定时间内不能恢复正常,计算机发出分闸命令。 
(3)建立数据库,记录抽水系统开机、关机操作员的编号、分合闸的时间、抽水方式;故障时,记录保护动作时间、动作电流值和故障类型。 
(4)抽水监控系统有具有手动,自动,定时三种抽水控制方式。选择手动时,计算机在系统启动时,直接发送合闸或分闸指令;选择自动方式时,系统启动后,计算机采集缺水信号,若接到缺水信号将发送合闸指令,开始抽水后,等待满水信号,若满水,则发送分闸指令;当选择定时方式时,系统等待设置的启动时间到,自动向抽水泵发送合闸指令;同样系统也可以等待设置的停止时间到,自动向抽水泵发送分闸指令。 
(5)操作员进入系统和退出系统需要进行登陆检查,采用安全措施进入和退出系统。登陆系统后,操作员可以修改自己的密码,只有管理员有权注册新的操作员。 
(6)系统运行的仿真示意图,实时显示抽水系统的工作状态,在计算机监控窗体增加了灯光和流程动画,直观地显示系统的运行状态,更好展现可视化的效果。 
35

2.抽水监控系统设计的技术关键 
2.1抽水监控系统的核心程序

抽水监控系统的核心程序为系列函数:发出通信指令函数,如其中读x2状态的函数Read_x2();字符串转换并发送函数SendString(CString m_strSend);接收信息并转换字符串函数ReadString ()等。 
计算机发出查询x2状态通信帧时,调用SendString(CString m_strSend)函数,将通信帧转换数据类型,再用SetOutput函数发送出去;PLC接收到信息后,自动返回x2的状态,计算机监测到输入缓冲区字符数到指定个数,调用ReadString()函数,接收并转换为Cstring格式的字符串。 
void CCSXTAView::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);
}
void CCSXTAView::SendString(CString m_strSend)
{   char TxData[100];
CString m_strSend; 
m_strSend=“%01#WCSR00021**\r\n”; 
int Count = m_strSend.GetLength();
for(int i = 0; i < Count; i++)
TxData[i] = m_strSend.GetAt(i);
CByteArray array;
array.RemoveAll();
array.SetSize(Count);
for(i = 0; i < Count; i++)
array.SetAt(i, TxData[i]);
m_MSComm1.SetOutput(COleVariant(array));//发送 
}
void CCSXTAView::ReadString ()
{
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组 An
//8-bit integerthat is not signed.
CString strtemp, 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型变量 
{   BYTE bt=*(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:


通信帧

%

01#

RCS

R0000

**

上一页  [1] [2] [3] [4]  下一页


本文关键字:监控  计算机  PLC入门plc技术 - PLC入门

《抽水系统的计算机监控设计介绍》相关文章>>>