新聞中心

        EEPW首頁 > 嵌入式系統(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 來源:網(wǎng)絡(luò) 收藏

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

        本文引用地址:http://www.104case.com/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)的通信幀,功能說明如下表2:


        通信幀

        %

        01#

        RCS

        R0000

        **

        說明

        通信標(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è)腳位的功能各有不同,正確連線才能使通信成功。計(jì)算機(jī)和PLC的串行口一般為9腳,其定義和功能如下表3:


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

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

        簡(jiǎn)寫

        意 義

        簡(jiǎn)寫

        意 義

        1

        CD

        載波偵測(cè)

        FG

        保護(hù)接地

        2

        RXD

        接收字符

        SD

        傳送字符

        3

        TXD

        傳送字符

        RD

        接收字符

        4

        DTR

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

        RS

        要求傳送

        5

        CND

        地線

        CS

        清除以傳送

        6

        DSR

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

        未用

        7

        RTS

        要求傳送

        SG

        地線

        8

        CTS

        清除以傳送

        CD

        載波偵測(cè)

        9

        RI

        響鈴偵測(cè)

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

        2.4運(yùn)用VC++6.0語言編程實(shí)現(xiàn)對(duì)計(jì)算機(jī)的串行口的讀寫
        VC++6.0語言對(duì)計(jì)算機(jī)硬件有較好的控制能力,運(yùn)用MSComm控件對(duì)計(jì)算機(jī)的串行口的讀寫控制。首先要對(duì)MSComm控件(假設(shè)名稱為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ū)字符書達(dá)到設(shè)置值,觸發(fā)OnComm事件
        m_MSComm1.SetPortOpen(TRUE);//打開通信端口
        設(shè)置各項(xiàng)屬性后,運(yùn)用MSComm控件對(duì)串行口進(jìn)行讀寫,將讀到的內(nèi)容寫入輸出緩沖區(qū),再將輸入緩沖區(qū)的信息讀到程序去,計(jì)算機(jī)依據(jù)程序自動(dòng)完成工作。
        應(yīng)用m_MSComm1.GetInput()和m_MSComm1. SetOutput()屬性就可以將計(jì)算機(jī)輸入緩沖區(qū)的信息讀到程序中和把程序中的信息輸出到計(jì)算機(jī)的輸出緩沖區(qū)。
        VC++6.0語言的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ùn)用計(jì)算機(jī)的高級(jí)語言與計(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)過程的控制對(duì)象,修改相關(guān)的一些參數(shù),作為工廠的在線監(jiān)控系統(tǒng)。


        上一頁 1 2 3 下一頁

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 固阳县| 南郑县| 锡林郭勒盟| 开封县| 永嘉县| 房产| 象山县| 老河口市| 邮箱| 鄂托克旗| 昌吉市| 光泽县| 儋州市| 南华县| 和田市| 东乡族自治县| 温宿县| 织金县| 昭觉县| 揭东县| 三亚市| 桂阳县| 开封市| 密山市| 且末县| 巴南区| 建湖县| 喀喇| 稻城县| 固阳县| 云阳县| 天台县| 台湾省| 江阴市| 阿拉尔市| 黄山市| 湖南省| 白河县| 邵阳县| 阳东县| 车致|