熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于VB的臺達PLC與監控計算機的串行通信實現

基于VB的臺達PLC與監控計算機的串行通信實現

時間:2018-01-10 11:07:31來源:網絡轉載

導語:?PLC是現場設備控制層不可缺少的部分,已經非常普及,如何簡便地實現與PLC的交互已經成為眾多廠商新的競爭戰場

1引言

現場設備層中的設備種類繁多,傳感器、啟動器、驅動器、I/O部件、變送器、閥門等等,當然也包括現場檢測儀器儀表設備。PLC是現場設備控制層不可缺少的部分,已經非常普及,如何簡便地實現與PLC的交互已經成為眾多廠商新的競爭戰場。由此產生了人機界面等軟件產品,這些產品的出現簡化了對PLC的控制、操作,使PLC的應用更加方便;但也有其共同的缺點,價格普遍偏高和可二開發性較差。VB作為“原始”的編程語言在這兩方面無疑有著明顯優勢的,本文結合一個簡單的案例,用比較基礎的概念討論如何通過VB實現PC與PLC之間的通信問題,這對剛涉步控制領域的工程師或許是有幫助的。在現場設備層中各式各樣的設備都可以和計算機聯機,而最簡單的自動化聯機方式就是使用串行通信,VB提供了串行通信控件可以讓開發者開發出串行通信的系統程序,以下是對相關問題的粗略討論。

2串行通信基本概念

數據通訊中有兩種類型的通信形式,即并行通信(ParallelCommunication)和串行通信(SerialCommunication)。例如,如果有8位數據需要傳送,那么并行通信一次就可以完成8位的傳輸量;而串行一次只能傳送1位。圖1表示了兩種不同的通信模式,常用的串行通信也有兩種,分別為RS-232和RS-485。

2.1RS-232串行通信

RS-232的信號準位是參考地線而言的,如圖2所示。相對于參考接地端1傳輸端傳送數據;接收端則相對于參考接地端2復現出傳送端的傳送的數據。

2.2RS-485串行通信

RS-485的信號被傳送出去時會分成正負兩條線路,當到達接收端后,在將信號相減還原成原來的信號;如果將原始的信號表示成(DT),而被分成的信號分別標示成(D+)及(D-),則DT=(D+)-(D-)。同理,接收端在接收到信號后,也依據上式還原成原來的樣子。如果線路受到干擾,兩條線路的信號分別為(D+)+Noise與(D-)+Noise。接收端還原信號為(DT)=[(D+)+Noise]-[(D-)+Noise],與先前結果一樣,所以RS-485可以有效的防止噪聲的干擾。

3VB的基本概念

VB(VisualBasic)是微軟的窗口軟件,提供了很多接口成員,對象、屬性、事件、方法就是4個重要的接口,VB提供了許多常用的控件。

3.1卷標控件

3.2按鈕控件

3.3定時器控件

VB提供了大量的控件,在此不再多述。

4基于MScomm控件的串行通信

要完成VB與PLC等設備的串行通信要用到MScomm控件,在此有必要對該控件作較詳細的說明。Mscomm是一個非標準控件,需要要手動添加許多項目,其步驟如下。

1)選擇菜單的【工程】

2)選擇【部件】

4.1MODBUSASCII

Modbus分為ASCII和RTU兩種,ASCII采用的格式和校驗相對簡單,本文采用ASCII格式,并僅對使用的功能碼進行說明,更多的信息,請參看協議的詳細說明。

1)通信格式

LRC算法:ADRH+CMDH+DATAH,然后取2的補碼。

2)功能碼

05,寫入線圈

01,讀線圈狀態

06,寫入單個字寄存器

4.2VB與PLC通信的實現

以下舉例說明現場設備與PLC通信的實現。

1)控制要求:控制PLC的起動、停止,并顯示運行狀態(綠色為運行,紅色為停止);能夠用交替型按鈕控制Y0,Y1,并用指示燈顯示Y0,Y1狀態(綠色為運行,紅色為停止);能夠對D256,D512兩個寄存器進行數值寫入的操作。

2)實現思路:PLC起動停止的標志位為M1072,查DVP協議,知道地址為H0C30,按功能碼01操作;同樣Y0,Y1的地址分別為H0500,H0501。寫入FF00為ON,0000為OFF,按功能碼05操作;D256,D512地址分別為H1100,H1200,按功能碼06操作即可。

3)VB接口

用按鈕控制PLC的起動停止,Y0、Y1的ON/OFF及D256、D512寫完數據的發送;用Shape組件做指示燈,表示PLC的運行狀態和Y的狀態;用timer組件不停的讀取M1072的狀態,以判斷PLC的運行情況;用MScomm控件實現PC與PLC的通信。

4)編程實現的代碼構成

(1)LRC算法校驗的實現

PublicFunctionLRC(strAsString)AsString

c=0

l=Len(str)

Forc=c+1Tol

c_data=Mid$(str,c,2)

d_lrc=d_lrc+Val("&H"+c_data)

c=c+1

Nextc

Ifd_lrc>&HFFThen

d_lrc=d_lrcMod&H100

EndIf

h_lrc=Hex(&HFF-d_lrc+1)

IfLen(h_lrc)>2Then

h_lrc=Mid(h_lrc,Len(h_lrc)-1,2)

EndIf

LRC=h_lrc

EndFunction

(2)運行的開始就判斷PLC的狀態并設置標志位

'初次運行打開串口,并顯示PLC運行狀態

PrivateSubForm_Load()

Dims1AsString

Dims2AsString

Dims22AsString

Dims3AsString

Dims4AsString

MSComm1.PortOpen=True

s2="01010C300001"

s22=LRC(s2)

s1=":"+s2+s22+Chr$(13)+Chr$(10)

MSComm1.Output=s1

s3=MSComm1.Input

s4=Mid$(s,6,8)

Ifs4="0C30FF00"Then

plc=1'PLC為運行標志

Else

plc=0'PLC為停止標志

EndIf

EndSub

(3)下面一段為用指示燈表示PLC的運行狀態

PrivateSubTimer5_Timer()

Dims1AsString

Dims2AsString

Dims22

Dims3AsString

Dims4AsString

s2="01010C300001"

s22=LRC(s2)

s1=":"+s2+s22+Chr$(13)+Chr$(10)

MSComm1.Output=s1

s3=MSComm1.Input

s4=Mid$(s3,8,2)

Ifs4="31"Then

plc=1'PLC為運行標志

Else:Ifs4="30"Thenplc=0'PLC為停止標志

EndIf

Ifplc=1Then

Label2.Caption="PLC正在運行......"

Shape1.FillColor=RGB(0,255,0)'green

Else

Label2.Caption="PLC已經停止"

Shape1.FillColor=RGB(255,0,0)'red

EndIf

EndSub

(4)PLC的起動與停止

'起動PLC

PrivateSubstart_Click()

DimstroutAsString

Timer5.Enabled=False

str="00050C30FF00"'M1072為PLC起動停止標志位。查地址表,M1072為OC30.FF00為置

ON,0000為置OFF。

'以上都是固定格式,要牢記。

LRCC=LRC(str)'計算str的lrc校驗碼。

strout=":"+str+LRCC+Chr$(13)+Chr$(10)'欲傳送之數據。13為D,10為A

MSComm1.Output=strout

Timer5.Enabled=True

EndSub

'停止PLC

PrivateSubstop_Click()

DimstroutAsString

Timer5.Enabled=False

str="00050C300000"

LRCC=LRC(str)

strout=":"+str+LRCC+Chr$(13)+Chr$(10)

MSComm1.Output=strout

Timer5.Enabled=True

EndSub

Y0、Y1的ON/OFF與PLC起動/停止的控制方式相同,指示燈的表示方式也相同。D256,D512數據寫入的操作類似,限于篇幅其它代碼就不再列出了。

5結束語

VB語言易于編程使用,為與串行設備的通信提供了很大的方便。臺達PLC采用標準的目前廣為流行的MODBUS協議,為實現PLC與監控計算機的通信提供了簡化的平臺。由于臺達所有的機電產品都支持MODBUS協議,所以,掌握了VB與PLC通信過程,也就等于掌握了PC與臺達所有機電產品的通信。

標簽:

點贊

分享到:

上一篇:不能松懈的還有變頻器的內部螺栓

下一篇:基于FPGA的數字下變頻器的設...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 明光市| 惠东县| 鄂尔多斯市| 温宿县| 临湘市| 利辛县| 哈密市| 新干县| 疏勒县| 鱼台县| 平遥县| 罗城| 集贤县| 阿图什市| 金昌市| 彝良县| 定兴县| 平遥县| 新蔡县| 新竹市| 澄江县| 平武县| 吉安县| 东乌| 曲麻莱县| 高青县| 河源市| 阆中市| 新乐市| 托里县| 开鲁县| 青岛市| 正定县| 富源县| 苍山县| 高雄县| 东海县| 横峰县| 崇州市| 寿宁县| 龙井市|