国产又粗又猛又爽又黄的黄牛视频-欧美日韩精品网址-国产成人麻豆h视频在线观看-蜜臀av区一二三爽免费播放-久久久伦理精品-99精品资源在线视频-伊人久久大香樵-久久人妻人人爽-性欧美少妇煌妇喷水,麻豆免费在线观看视频网站,天天射天天干天天要,91精品国自产拍老熟女露脸

PLC技術(shù)資料
    利用VB的MSComm控件編程實(shí)現(xiàn)PC與三菱PLC FX系列通信
    發(fā)布者:用戶投稿  發(fā)布時(shí)間:2008/5/30 11:53:08
    編寫PC的通信程序可采用匯編語(yǔ)言編寫,或采用各種高級(jí)語(yǔ)言編寫,或采用工控組態(tài)軟件,或直接采用PLC廠家的通信軟件(如三菱的MELSE MEDOC等)
      下面利用VB6.0以一個(gè)簡(jiǎn)單的例子來說明編寫通信程序的要點(diǎn)。假設(shè)PC要求從PLC中讀入從D123開始的4個(gè)字節(jié)的數(shù)據(jù)(D123、D124),其傳輸應(yīng)答過程及報(bào)文如圖7-16所示。
     
    圖7-16  傳輸應(yīng)答過程及命令報(bào)文
    命令報(bào)文中10F6H為D123的地址,04H表示要讀入4個(gè)字節(jié)的數(shù)據(jù)。校驗(yàn)和SUM=30H+31H+30H+46H+36H+30H+34H+03 H=174H,溢出部分不計(jì),故SUMH=7,SUAIL=4,相應(yīng)的ASCⅡ碼為“37H”,“34H”。應(yīng)答報(bào)文中4個(gè)字節(jié)的十六進(jìn)制數(shù),其相應(yīng)的ASCⅡ碼為8個(gè)字節(jié),故應(yīng)答報(bào)文長(zhǎng)度為12個(gè)字節(jié)。
        根據(jù)PC與FX系列PLC的傳輸應(yīng)答過程,利用VB的MSComm控件可以編寫如下通信程序?qū)崿F(xiàn)PC與FX系列PLC之間的串行通信,以完成數(shù)據(jù)的讀取。MSComm控件可以采用輪詢或事件驅(qū)動(dòng)的方法從端口獲取數(shù)據(jù)。在這個(gè)例子中使用了輪詢方法。
       1)通信口初始化
        Private Sub Initialize()
        MSComm1.CommPort =1
        MSComm1.Settings = “9600,E,7,1”
        MSComm1.InBufferSize = 1024
        MSComml.OutBuffersize = 1024
        MSComm1.InputLen = 0
        MSComml.InputMode = comInputText
        MSComm1.Handshaking = comNone
        MSComm1.PortOpen = True
        End Sub
        2)請(qǐng)求通信與確認(rèn)
        Private Function MakeHandshaking()As Boolean
        Dim InPackage As String
        MSComml.OutBufferCount = 0
    MSComml.InBufferCount = 0
    MSComml.OutPut = Chr(&H5)
    Do
    DoEvents
    Loop Until MSComml.InBufferCount = 1
    InPackage = MSComml.Input
    If InPackage = Chr(&H6) Then
    MakeHandShaking = True
    Else
    MakeHandshaking = False
    End If
    End Function
    3)發(fā)送命令報(bào)文
    Private Sub SendFrame ()
    Dim Outstring As String
    MSComml.OutBufferCount = 0
    MSComml.InBufferCount = 0
    Outstrin = Chr(&H2)+″on″+″10F604″+Chr(&H3)+″74″
    MSComml.Output = Outstring
    End Sub
    4)讀取應(yīng)答報(bào)文
    Private Sub ReceiveFrame()
    Dim Instring As String
    Do
    DoEvents
    Loop Until MSComml.InBufferCount = 12
    InString = MSComml.Inpult
    End Sub
    版權(quán)聲明PLC信息網(wǎng)轉(zhuǎn)載作品均注明出處,本網(wǎng)未注明出處和轉(zhuǎn)載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性。如轉(zhuǎn)載作品侵犯作者署名權(quán),或有其他諸如版權(quán)、肖像權(quán)、知識(shí)產(chǎn)權(quán)等方面的傷害,并非本網(wǎng)故意為之,在接到相關(guān)權(quán)利人通知后將立即加以更正。聯(lián)系電話:0571-87774297。
0571-87774297  
通许县| 阿瓦提县| 德令哈市| 泾川县| 石门县| 乌鲁木齐县| 离岛区| 堆龙德庆县| 元江| 莆田市| 通榆县| 确山县| 隆子县| 秦安县| 赣榆县| 上饶市| 法库县| 腾冲县| 阿拉善右旗| 健康| 建平县| 同仁县| 郸城县| 永寿县| 吴江市| 福贡县| 长白| 鄂托克旗| 西丰县| 三门县| 五峰| 镇康县| 天等县| 房产| 自贡市| 谷城县| 博兴县| 遵义县| 颍上县| 福州市| 汉寿县|