新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 抽水系統(tǒng)的計(jì)算機(jī)監(jiān)控設(shè)計(jì)

抽水系統(tǒng)的計(jì)算機(jī)監(jiān)控設(shè)計(jì)

作者: 時(shí)間:2016-12-19 來(lái)源:網(wǎng)絡(luò) 收藏

2.2計(jì)算機(jī)與PLC的通信幀

本文引用地址:http://m.butianyuan.cn/article/201612/331216.htm

抽水監(jiān)控系統(tǒng)的設(shè)計(jì)關(guān)鍵之一是計(jì)算機(jī)與PLC的通信幀,PLC的通信系統(tǒng)的基本協(xié)議規(guī)定通信幀有嚴(yán)格的格式,本系統(tǒng)采用松下的PLC。上述Read_x2()指令函數(shù)中的"%01#RCSR0000**"為計(jì)算機(jī)發(fā)出讀PLC的x2狀態(tài)的通信幀,功能說(shuō)明如下表2:


通信幀

%

01#

RCS

R0000

**

說(shuō)明

通信標(biāo)志

地址

命令碼,讀接點(diǎn)

接點(diǎn)編號(hào)

效驗(yàn)碼,不效驗(yàn)時(shí)用“*”代替

結(jié)束碼

2.3計(jì)算機(jī)與PLC的串行口連接
計(jì)算機(jī)與PLC的RS-232串行口有9和25個(gè)腳兩種,而每個(gè)腳位的功能各有不同,正確連線(xiàn)才能使通信成功。計(jì)算機(jī)和PLC的串行口一般為9腳,其定義和功能如下表3:


腳位
PC機(jī)RS-232,其9支腳位的定義

PLC上的RS-232,其9支腳位的定義

簡(jiǎn)寫(xiě)

意 義

簡(jiǎn)寫(xiě)

意 義

1

CD

載波偵測(cè)

FG

保護(hù)接地

2

RXD

接收字符

SD

傳送字符

3

TXD

傳送字符

RD

接收字符

4

DTR

數(shù)據(jù)端備妥

RS

要求傳送

5

CND

地線(xiàn)

CS

清除以傳送

6

DSR

數(shù)據(jù)備妥

未用

7

RTS

要求傳送

SG

地線(xiàn)

8

CTS

清除以傳送

CD

載波偵測(cè)

9

RI

響鈴偵測(cè)

計(jì)算機(jī)與PLC串行口連接通常有兩種,基于連接和基于不連接的信號(hào)接線(xiàn)方式如圖5所示:

2.4運(yùn)用VC++6.0語(yǔ)言編程實(shí)現(xiàn)對(duì)計(jì)算機(jī)的串行口的讀寫(xiě)
VC++6.0語(yǔ)言對(duì)計(jì)算機(jī)硬件有較好的控制能力,運(yùn)用MSComm控件對(duì)計(jì)算機(jī)的串行口的讀寫(xiě)控制。首先要對(duì)MSComm控件(假設(shè)名稱(chēng)為MSComm1,其對(duì)應(yīng)的控制變量為m_MSComm1)的幾個(gè)屬性進(jìn)行設(shè)置。
m_MSComm1.SetCommPort(1);//設(shè)置通信端口
m_MSComm1.SetSettings("9600,n,8,1");
//設(shè)置通信的波特率、效驗(yàn)方式、數(shù)據(jù)位、停止位
m_MSComm1.SetSthreshold(1);//設(shè)置要接受的字符數(shù),當(dāng)輸入緩沖區(qū)字符書(shū)達(dá)到設(shè)置值,觸發(fā)OnComm事件
m_MSComm1.SetPortOpen(TRUE);//打開(kāi)通信端口
設(shè)置各項(xiàng)屬性后,運(yùn)用MSComm控件對(duì)串行口進(jìn)行讀寫(xiě),將讀到的內(nèi)容寫(xiě)入輸出緩沖區(qū),再將輸入緩沖區(qū)的信息讀到程序去,計(jì)算機(jī)依據(jù)程序自動(dòng)完成工作。
應(yīng)用m_MSComm1.GetInput()和m_MSComm1. SetOutput()屬性就可以將計(jì)算機(jī)輸入緩沖區(qū)的信息讀到程序中和把程序中的信息輸出到計(jì)算機(jī)的輸出緩沖區(qū)。
VC++6.0語(yǔ)言的m_MSComm1.GetInput()和m_MSComm1. SetOutput()屬性發(fā)出和接收的是ColeSafeArray型數(shù)據(jù),發(fā)送前要用SendString(CString m_strSend)實(shí)現(xiàn)轉(zhuǎn)換,接收后要用ReadString ()實(shí)現(xiàn)轉(zhuǎn)換為Cstring字符串。
PLC發(fā)出命令幀后,讀取PLC的返回幀需一定的時(shí)間,否則返回幀的信息還未到達(dá)輸入緩沖區(qū),程序執(zhí)行不正確的信息,所以在讀返回幀的程序前,設(shè)置等待時(shí)間,使用Sleep()讓程序處于休眠狀態(tài)等待完整的回幀的信息。
2.4.PLC程序的配置
1)在PLC程序要設(shè)置波特率、奇偶效驗(yàn)方式、數(shù)據(jù)位、停止位為“ 9600,n,8,1”,與計(jì)算機(jī)程序一致。
2)在PLC程序要設(shè)置為允許計(jì)算機(jī)連接。
3)將程序下載到PLC后,還要將PLC斷電再接通電,通信設(shè)置才生效。
3.結(jié)束語(yǔ):
運(yùn)用計(jì)算機(jī)的高級(jí)語(yǔ)言與計(jì)算機(jī)硬件控制、計(jì)算機(jī)與PLC通信等技術(shù),實(shí)現(xiàn)計(jì)算機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì),本文介紹的控制系統(tǒng)可作為一個(gè)控制模塊嵌入到大型的樓宇監(jiān)控系統(tǒng)中;也可以根據(jù)企業(yè)生產(chǎn)過(guò)程的控制對(duì)象,修改相關(guān)的一些參數(shù),作為工廠(chǎng)的在線(xiàn)監(jiān)控系統(tǒng)。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉