男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

當前位置:機電之家首頁 >> PLC技術>> plc應用 >> 永宏plc應用 >> 基于調制解調器和VB的永宏PLC遠程通訊系統設計
基于調制解調器和VB的永宏PLC遠程通訊系統設計

1引言
  隨著計算機和通訊技術的發展,在工業測量和控制中廣泛需要遠程通訊。遠端PLC等下位機做生產控制,本地計算機需要實時監測或參與控制生產現場的參數。實現以上要求的一個簡便的途徑是利用覆蓋面廣泛的公用電話網,使PLC等下位機利用調制解調器(MODEM)和計算機的調制解調器連接通訊,即可完成硬件上的連接。如圖1所示。在軟件方面,由遠端下位機軟件控制和遠程監控站軟件兩部分組成。考慮到本地監控站軟件只做數據監測或少許控制且編程相對簡單,所以本地監控站的編程軟件可以直接用高級語言。
  2系統概述
  本文以一個實際的小水電站的瀉水閘門程控工程為例,著重敘述永宏PLC和PC做遠程通訊的實現細節。系統的下位機控制采用永宏公司的FBs系列PLC對水庫瀉水閘門進行開度檢測和開度控制,監控站的界面編程采用VB6.0編寫。 
  硬件配置:遠端FBs-CB25+ FBs-10MAU+ECOM外置MODEM+PWS1711
   本地PC(含普通內置MODEM)
  該系統主要控制要求,通過FBs-10MA外接一個旋轉編碼器檢測閘門所在位置,然后跟據現場人機界面或者PC端(下游5Km處)的設定位置來控制牽引閘門的馬達正反轉,從而使閘門上升或下降到指定的位置。FBs-CB25所擴展得到的通訊口2(RS485)用于PWS1711的通訊,通訊口1(RS232)用于連接MODEM,另外,主機上的可USB口用于連接調試用的筆記本電腦。

3調制解調器工作方式和設定
  3.1 調制解調器工作原理
  調制解調器分成兩種模式,命令模式和聯機模式。當調制解調器沒有和其它設備連接時,其處于命令模式,這時下達給調制解調器的指令時作調制解調器本身設定或者動作用的。當調制解調器已經和其它的設備連接上時,此時調制解調就是處于聯機模式,所有在此時由計算機送到調制解調器的訊息都將由經電話線傳送到其它設備上。
  用于控制調制解調器的特定指令集被稱為“AT指令集”,通過該指令集,從最基本的音量控制到內建參數設置的改變,都可以由VB經過串行端口而對調制解調器下達控制指令。AT命令集是調制解調器通訊接口的工業標準。所有的AT命令都以字符AT開始,作為前綴。前綴AT用以引起調制解調器的注意(Attention)檢測計算機串行通訊口發送信號的速率,識別字符格式,包括字符長度和奇偶設定等。
  調制解調器撥號之后,等待對方調制解調器送來的載波信號。如果在一給定時間內沒有檢測到載波, 調制解調器自動釋放線路并送回結果碼NOCARRIER,如果檢測到載波信號, 調制解調器即送結果碼CONNECT + 波特率,就進入聯機狀態,即可與遠方系統進行通訊。
  3.2 PLC連接調制解調器原理及其設置
  在該系統中, PC做為主站,必須控制調制解調器主動撥號,另外,在確認調制解調器和PLC的調制解調器聯機成功后控制它進入聯機模式,開始存取PLC數據。主站控制調制解調器撥號連接細節見下節,這里詳述PLC端對調制解調器的設置方法。
  PLC端PLC上電后必須初始化調制解調器,設置成自動應答來電狀態。在這里把PLC初始化調制解調器的AT指令組合稱為“MODEM驅動程序”。永宏PLC通過Port1來控制調制解調器,并把這種軟件界面稱為調制解調器專用界面。如圖2設定或者設定特殊暫存器R4149的高八位為55H就可以把Port1設置為調制解調器專用界面,在該界面下PLC會啟用“MODEM驅動程序”,此時,雖CPU仍然使用永宏〝標準通訊驅動程序〞來管理Port1的通訊,但必須通過調制解調器來聯機,在通訊進行前,Por t1主控權是交由〝MODEM驅動程序〞管理,此時無法對PLC作任何存取動作?!癕ODEM驅動程序”即將調制解調器設為接收模式,并等待遠方調制解調器撥號進來,一旦收發雙方調制解調器聯機成功,則PLC立即脫離接收模式,而進入聯機狀態,Port1控制權交由永宏〝標準通訊驅動程序〞管理。此時遠方調制解調器便可任意存取或控制此PLC主機了。

在PLC聯機狀態下,選取菜單中的“PLC”→“設定”→“Port1設定”來到圖2,選擇單選框的第二項“透過MODEM作遠程CPU_bbbb”,該PLC一上電就通過自帶的“MODEM驅動程序”把Port1設置為調制解調器專用界面。另外,通訊格式設置為同調制解調器相同的N,8,1,為提高通訊效率可以把通訊速率設置為38400bps,或者更高(最高為115200bps)。

4 PC端程序設計
  4.1 撥號程序設計
  PC端將以VB6.0所帶的通信控件MSCOMM進行通信軟件的開發,利用該控件控制串口實現對MODEM的控制??刂撇襟E如下:
  一.通信參數設置
  設置串口端口號,波特率,數據位,停止位,奇偶校驗位及設置硬件握手協議,然后向MODEM發出DTR(已準備好)信號一便接管MODEM,程序如下:
  If MSComm1.PortOpen Then
  MSComm1.DTREnable = True
  Else
  MSComm1.DTREnable = False
  End If 
  二.對MODEM初始化
  發出一些命令來設置參數,其中S0=n(n>=1)自動應答.n為響鈴次數;E0/E1關閉/打開命令字符回應;Q0/Q1設置MODEM返回/不返回結果碼;M0/M1關閉/打開MODEM揚聲器;Ln(n>=0)設置MODEM揚聲器音量www.plcs.cn;P/T設置MODEM脈沖/音頻撥號;程序如下: 
  If MSComm1.PortOpen Then
  Do While Not MSComm1.CTSHolding: Loop
  TXD= ATS0=1E1Q0M1L2T + Chr(13)
  MSComm1.Output = TXD
  End If
  三.進行撥號
  向MODEM發出ATD命令,程序如下: 
  MSComm1.Output=ATD & 05925998499+Chr(13) 
  當發送“ATD”+ 電話號碼 + Chr(13)時,MODEM就開始撥號,撥號需要一定的時間,在撥號的過程中可以不斷讀取MODEM的CD指示燈的狀態,當電話撥通后CD指示燈會點亮。并返回“CONNECT + 波特率”的信息。如果MODEM向PC的回應字符串中含有Connect或CDHolding屬性值變為True(檢測出載波),則表示已與遠方MODEM連機了,此時可以傳輸數據。 
  當電話撥通后,MODEM不再接收AT指令,要使其回到命令狀態,則必須發送“+++”信息,使MODEM回到命令狀態,然后發送“ATH”+ Chr(13)則可以掛斷電話,程序如下: 
  MSComm1.Output=ATH +Chr(13) 
  4.2 通訊程序設計

一.永宏PLC通訊協議

.

⑴.開頭字符(STX):ASCI I碼之開始字符STX。
 ?、疲畯恼咎柎a:為兩位數之16進制數值。
 ?、牵钐柎a:為兩位數之16 進制數值,為由主系統要求從系統所執行之動作類別。
 ?、龋疚馁Y料:本文數據可為0(無本文數據)~500個ASCII字符。
 ?、桑畟烧`值(CHECKSUM): 偵誤值系將前述~將各ASCII字符之16進制數碼值(8位長度)從頭至尾依序相加,但不考慮進位,因此最終結果為偵誤值。
 ?、剩Y尾字符(ETX):ASCI I碼之結尾字符ETX之16進制數碼為03H。。
  二.讀數寫數
  本系統操作PLC的關鍵數據主要是水位的設定值PV=R0和當前值CV=R1,即要對暫存器R0進行寫操作,R1進行讀操作;
  依照協議VB設計的通訊程序必須指定一個命令碼,向PLC請求數據讀取,查的該命令碼為“46”,解釋為:連續多個緩存器之數據讀取。讀取R1的PC命令的ASCII碼寫法為:
  “STX+ 01(站號)+46(命令碼)+01(連續數據個數)+R00001(數據開始地址)+LRC(偵誤值)+ETX”
  依照協議VB設計的通訊程序必須指定一個命令碼,對PLC緩存器數據寫入,查的該命令碼為“47”,解釋為:連續多個緩存器之數據寫入。寫入R0的PC命令的ASCII碼寫法為:
  “STX+ 01(站號)+47(命令碼)+01(連續數據個數)+R00000(數據開始地址)+XXXX(寫入的數據資料,16進制)+LRC(偵誤值)+ETX”
   讀取當前值CV=R1,程序如下
  Private Sub Timer1_Timer()
  MSComm1.Output= Chr(2)+ “014601R00001”+ Lrc(“014601R00001”)+Chr(3)
  Delay (10) //延時
   CV = Val(&H + Mid(MSComm1.bbbbb, 7, 4)) //數據處理,R0放于CV
   CV.Text = CV
  End Sub
   寫入設定值PV=R0,程序如下
  Private Sub Command1_Click()
   If Len(Hex(PV.Text)) = 4 Then PV = Hex(PV.Text)

   If Len(Hex(PV.Text)) = 3 Then PV = 0 + Hex(PV.Text
   If Len(Hex(PV.Text)) = 2 Then PV = 00 + Hex(PV.Text)
   If Len(Hex(PV.Text)) = 1 Then PV = 000 + Hex(PV.Text) //10進制轉換16進制
  MSComm1.Output=Chr(2)+ “014701R00000”+ PV + +Lrc(“014701R00000” & PV)+Chr(3)
  End Sub
  三.偵誤值(CHECKSUM)計算
  為VB的編程方便,把該計算做成單獨一個子程序,依所有數據累加,舍棄進位的規則VB的LRC編程如下:
  Private Function Lrc(Dats) As bbbbbb
   Dim i
   Dim Sum
   Sum =2
   For i = 1 To Len(Dats)
   Sum = Sum + Asc(Mid(Dats, i, 1))
   Next i
   Lrc = Right(0 + Hex(Sum + 2), 2)
  End Function
  5結束語
  采用基于MODEM通訊的設計極方便地實現該小電站生廠調度,在這種只需短時間連接控制的系統應用上可以大幅度地減小通訊成本,具有一定的推廣價值。另外,通過MODEM的連接,利用永宏編程軟件可以實現該設備的遠程程序調試修改,通過兩個MODEM還可以實現兩臺遠程PLC的CPU連接通訊等。

作者:未知 點擊:347次 [打印] [關閉] [返回頂部]
本文標簽:基于調制解調器和VB的永宏PLC遠程通訊系統設計
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《基于調制解調器和VB的永宏PLC遠程通訊系統設計》相關權利人與機電之家網取得聯系。
電子樣本

SN系列樣冊
:鞏經理
:13915946763
:南京塞姆泵業有限公司
個人求購

王經理 【求購】  西湖輪胎  2026-3-20
蘇紅慶 【求購】  工業除濕機  2026-3-20
金喜 【求購】  線纜  2026-3-20
林杰 【求購】  自粘結鐵芯  2026-3-20
任建波 【求購】  鋰電鉆  2026-3-20
劉經理 【求購】  吊具電纜總...  2026-3-20
潘梟 【求購】  高強鋼焊絲  2026-3-19
李經理 【求購】  丹弗斯液壓...  2026-3-18
VIP公司推薦

主站蜘蛛池模板: 民丰县| 万全县| 大悟县| 周宁县| 措美县| 庄河市| 淳化县| 湖州市| 沂水县| 石河子市| 福州市| 沁源县| 克山县| 长葛市| 顺昌县| 永宁县| 沧源| 长丰县| 定日县| 平湖市| 于都县| 宣武区| 兰坪| 迭部县| 大足县| 松阳县| 耿马| 宁安市| 新乡市| 华亭县| 镇江市| 同德县| 兴隆县| 巩义市| 永川市| 鹤庆县| 吴忠市| 惠来县| 宜黄县| 张北县| 玛纳斯县|