亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        在VB6.0編程語言下實現對PLC輸出的控制

        2017-08-11 23:20:10孫琦君
        職業(yè)技術 2017年8期
        關鍵詞:置位窗體三菱

        孫琦君

        (天津職業(yè)技術師范大學,天津 300000)

        ?

        在VB6.0編程語言下實現對PLC輸出的控制

        孫琦君

        (天津職業(yè)技術師范大學,天津 300000)

        本文通過一個實際例子說明在VB6.0下利用串口通信實現對PLC輸出端口Y的控制。在VB6.0中想實現串口通信一定要掌握MSComm通信控件的參數設置方法,傳送過程中使用十六進制數據。由于單擊置位或復位按鈕,產生一個二進制數據,最后轉換為ASCII碼,最后驅動PLC輸出。

        PLC VB6.0;串口通信;二進制

        0 引言

        通過在VB6.0編程語言下進行編程,就可以直接實現對三菱PLC輸出的直接控制,同時不需要編寫三菱PLC內部程序。在VB6.0程序界面內指定輸出元件的地址,單擊置位命令按鈕,設置指定輸出元件端口的狀態(tài)為ON,使線路中三菱PLC輸出指示燈亮;單擊復位命令按鈕,設置指定輸出元件端口的狀態(tài)為OFF,使線路中三菱PLC輸出指示燈滅。

        要想實現這樣控制,首先要知道三菱PLC如何和電腦PC進行通信的。三菱PLC和PC進行通信,可以使用通信口,也可以使用編程口。兩者區(qū)別是通過編程口,PC只能和一臺PLC通信,訪問方式為間接是;通過通信口,PC可以和多臺PLC通信,訪問方式為直接,二者所使用的為不同的通信協(xié)議。

        本實例所用PC和三菱FX2N系列PLC通過編程電纜連接起來,形成一套開關量輸出控制系統(tǒng),如圖1所示。在圖1中,PC的串口COM1通過SC-09編程電纜與三菱FX2N 32MR的編程口連接起來,通過外接的指示燈來顯示PLC輸出狀態(tài)。

        1 VB6.0程序界面設計

        外部接線圖完成后,現在要完成的工作是在VB6.0編程語言中程序界面的設計。首先在VB6.0中要添加一個MSComm通信控件,用來實現PC與PLC的串口通信;然后為了置位,再添加8個CommandButton按鈕控件;然后為了復位,再添加8個CommandButton按鈕控件;最后再添加1個CommandButton按鈕控件,完成關閉程序任務。

        界面設計好,現在要對程序窗體、控件對象的主要屬性按表1進行設置。

        2 程序設計

        ①定義窗體級變量

        從程序中發(fā)出的開關量信號的狀態(tài)值在多個過程中使用,所以首先要定義一個窗體級變量。

        Dim a1#,b1#,c1#,d1#,e1#,f1#,g1#,h1#

        圖1 PC與FX2NPLC外部接線圖

        控件類型主要屬性功能Form(名稱)=PLCDOForm窗體控件(名稱)=PLC開關量輸出窗體標題欄顯示程序名稱CommandButton(名稱)=Cmdz0(0)~Cmdz0(7)按鈕數組控件Caption=置位Y0~Y7置指定地址端口為ONCommandButton(名稱)=Cmd1(0)~Cmd1(7)按鈕數組控件(Caption=復位Y0~Y7置指定地址端口為OFFCommandButton(名稱)=Cmdquit按鈕控件,關閉程序Caption=關閉按鈕標簽MSComm(名稱)=MSComm1串口通信控件在程序中設置串口參數設置

        ②通信串口初始化

        定義窗體級變量后,想實現PC與PLC之間串口通信,第一步要完成的工作是進行串口初始化,設置端口號、收發(fā)數據類型、打開串口,這些內容在Form-Load()事件過程中編寫程序。

        PC與三菱PLC串口通信使用COM1。利用MSComm控件中CommPort屬性來設置端口號;

        MSComm1. CommPort=1

        PC與三菱PLC的通信參數必須保護絕對一致,波特率設置為9600、偶校驗、數據位7、停止位1。這些利用MSComm控件中Settings屬性來設置。

        MSComm1. Settings=“9600,E,7,1”

        在這個傳送過程中發(fā)送指令為十六進制編碼數據,這要將MSComm控件中InputMode屬性值設定為1.

        MSComm1. InputMode=1

        ③從PLC獲得各個端口的狀態(tài)值

        在VB6.0程序設計界面中,通過單擊按鈕的方式來產生置位和復位開關信號;在程序設計界面中有2個按鈕數組,通過判斷按鈕數組Cmdz0的索引號來設置PLC的輸出端口置位,通過判斷按鈕數組Cmd1的索引號來設置PLC的輸出端口復位。

        Private Sub Cmdz0_Click(Index As Integer) Private Sub Cmd1_Click(Index As Integer)

        If Index=0 Then a1=1 If Index=0 Then a1=0

        If Index=1 Then b1=1 If Index=1 Then b1=0

        If Index=2 Then c1=1 If Index=2 Then c1=0

        If Index=3 Then d1=1 If Index=3 Then d1=0

        If Index=4 Then e1=1 If Index=4 Then e1=0

        If Index=5 Then f1=1 If Index=5 Then f1=0

        If Index=6 Then g1=1 If Index=6 Then g1=0

        If Index=7 Then h1=1 If Index=7 Then h1=0

        Call send_date Call send_date

        End Sub End Sub

        ④按下按鈕,發(fā)出指令,讓輸出各個端口置位或復位

        在本例中,要發(fā)送的輸出端口Y狀態(tài)值不是一個固定值,而是由單擊打控制按鈕而產生一個隨機值。由于隨機值的存在,在控制程序中反映狀態(tài)值的數據部分和累加和部分只能用變量來表示,其余部分是固定數據,在串口通信中指令表達式為“02 31 30 30 41 30 30 32 data1 data2 data3 data4 data5 data6”,在編寫程序的關鍵就是想辦法得到這六個變量值:data1 data2 data3 data4 data5 data6。

        通過下面程序可以得到指令中輸出端口狀態(tài)數據變量data1 data2 data3 data4 。

        Private Sub send_data()

        Dim send_d As String

        Dim hexnum(5) As Integer

        Dim data1,data2,data3,data4 As Variant

        send_d=h1&g1&f1&e1&d1&c1&b1&a1

        For i=1 To Len(send_d)

        a=a+CLng(MidMYM(send_d,i,1))*2^CLng(Len(send_d)-i)

        Next i

        if a<16 Then

        hexstr =0&Hex(a)

        End If

        if a>16 Or a=16 Then

        hexstr =Hex(a)

        End If

        hexmum(1)=Hex(Asc(Mid(hexstr,1,1)))

        hexmum(2)=Hex(Asc(Mid(hexstr,1,1)))

        data1="&H"&hexnum(1)

        data2="&H"&hexnum(2)

        data3="&H"&"30"

        data4="&H"&"30"

        ……

        End Sub

        通過上面這一段程序,將單擊按鈕數組所產生的狀態(tài)值用二進制來表示,同時把這二進制數據轉換成十六進制數,再把十六進制數轉換成ASCII碼值,只保留可以反映輸出端口狀態(tài)的高字節(jié),低字節(jié) 固定為00。

        利用下面程序得到累加和的數據變量data5和data6。

        Private Sub send_data()

        ……

        Dim checknum(5) As String

        Dim data5,data6 As Variant

        addnum=Hex(&H31+&H30+&H30+&H41+&H30+&H30+&H32+data1+data2+data3+data4+&H3)

        checkdata=Right(addnum,2)

        checknum(1)=Hex(Asc(Mid(checkdata,1,1)))

        checknum(2)=Hex(Asc(Mid(checkdata,1,1)))

        data5="&H"&checknum(1)

        data6="&H"&checknum(2)

        ……

        End Sub

        通過上面這一段程序,完成取累加數后2位,分別將每位轉成ASCII碼值。要想編程語言中發(fā)出控制指令,必須使用MSComm控件中Output屬性來發(fā)送指令,可以將PLC的輸出端口Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7置1,同時將外面的指示燈點亮;也可以將PLC的輸出端口Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7置0,同時將外面的指示燈熄滅。實現上面控制程序如下:

        Private Sub send_data()

        ……

        MSComm1.Output=Chr(&H2)&Chr(&H31)&Chr(&H30)&Chr(&H30)&Chr(&H41)&Chr(&H30)&Chr(&H30)&Chr(&H32)&Chr(data1)&Chr(data2)&Chr(data3)&Chr(date4)&Chr(&H3)&Chr(data5)&Chr(data6)

        End Sub

        最后,通信完成后,通過下面程序退出。

        Private Sub Cmdquit_Click()

        MSComm1.PortOpen=False

        Unload Me

        End Sub

        3 編程完成后,系統(tǒng)運行測試

        完成外部硬線安裝,做好程序界面設計,調試完成,運行程序,程序運行的界面如圖2所示:

        圖2 VB程序運行界面

        在圖2所示程序界面當,按下置位按鈕,讓指定輸出繼電器Y狀態(tài)為ON,外部連接對應指示燈就亮;按下復位按鈕,讓指定輸出繼電器Y狀態(tài)為OFF,外部連接對應指示燈就滅;按下關閉按鈕,則退出程序。

        [1]李江全編. PLC開關量與通信控制應用實例講解[M].北京:電子工業(yè)出版社,2011.

        [2]李江全著. 三菱FX系列PLC數據通信及測控應用 [M]. 北京:電子工業(yè)出版社,2012.

        [3]李金城編著. PLC模擬量與通信控制應用實踐[M].北京:電子工業(yè)出版社,2011.

        [4]李江全編著. PLC模擬量與通信控制應用實踐詳解 [M].北京:電子工業(yè)出版社,2014.

        (編輯 趙欣宇)

        The Control of the PLC Output in Programming Language of VB6.0

        SUN Qijun

        (Tianjin University of Technology and Education, Tianjin 300000, China)

        This paper illustrates the control of the PLC output port Y by using serial port communication in VB6.0. In VB6.0, that implement the serial port communication needs to control the parameter settings of MSComm control, using hexadecimal data in the transfer process. Because of the click or reset button, a binary data is produced, which is converted to ASCII and eventually drives the PLC output.

        PLC VB6.0; serial port communication; binary system

        2017-05-10

        孫琦君(1995-),女。主要研究方向:計算機通信。

        G712

        A

        1672-0601(2017)08-0115-04

        猜你喜歡
        置位窗體三菱
        一種變電站測控防誤閉鎖邏輯智能校驗裝置的設計
        機電信息(2021年25期)2021-10-15 14:51:22
        三菱日聯銀行
        中國外匯(2020年14期)2020-10-28 06:29:36
        三菱日聯銀行
        中國外匯(2020年5期)2020-08-25 12:05:02
        利用三菱PLC在老設備上的改造應用
        哈爾濱軸承(2020年4期)2020-03-17 08:13:44
        M310 核電機組重要廠用水泵運行置位信號邏輯優(yōu)化
        試談Access 2007數據庫在林業(yè)檔案管理中的應用
        檔案天地(2019年5期)2019-06-12 05:12:02
        基于雙引導值的三軸天線等待點置位效率的初步研究
        別致型男 試駕2015款三菱帕杰羅精英超越版
        越玩越野(2015年2期)2015-08-29 01:04:56
        基于FX2N系列PLC的順序控制實現方法的探究
        科技資訊(2014年16期)2014-11-07 21:28:56
        基于LayeredWindow的異形窗體局部刷新
        中文信息(2014年2期)2014-03-06 23:49:14
        亚洲小少妇一区二区三区| 丁香五月缴情综合网| 中文字幕一区二区三区视频 | 欧美日韩亚洲综合久久久| 福利网在线| 中文字幕亚洲精品高清| 一区二区三区四区国产亚洲| 国产精品美女主播在线| 中文字幕av素人专区| 亚洲天堂亚洲天堂亚洲色图| 国产三级国产精品国产专区50| 亚洲人成综合第一网站| 性人久久久久| 国产精品免费看久久久无码| 18禁黄网站禁片免费观看女女| 久久香蕉国产线看观看精品yw | 欧美人与禽z0zo牲伦交| 国产一线二线三线女| 韩国19禁主播深夜福利视频| 亚洲AV无码成人精品区天堂| 99国产综合精品-久久久久| 中文字幕亚洲精品人妻| 一区二区三区少妇熟女高潮| 亚洲av成熟国产精品一区二区| 午夜一区二区视频在线观看| 精品国产一区二区三区av| 日本按摩偷拍在线观看| 亚洲第一幕一区二区三区在线观看 | 欧美黑人xxxx性高清版| 亚洲精品一品二品av| 一本久久伊人热热精品中文| 精品三级国产一区二区三| 欧美亅性猛交内射| 亚洲亚洲人成综合网络| av天堂久久天堂av色综合 | 亚洲熟女乱色一区二区三区| 在线无码精品秘 在线观看| 加勒比东京热综合久久| 免费国产一区二区视频| 蜜桃日本免费观看mv| 欧洲精品免费一区二区三区|