加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18717946324

      南昌西門子PLC模塊中國代理商

      更新時間
      2024-11-23 08:00:00
      價格
      請來電詢價
      品牌
      西門子
      型號
      PLC
      售后
      售后支持
      聯系電話
      18717946324
      聯系手機
      18717946324
      聯系人
      占雪芬
      立即詢價

      詳細介紹

      南昌西門子PLC模塊中國代理商

      本公司銷售西門子自動化產品,全新原裝,質量保證,價格優勢

      西門子PLC,西門子觸摸屏,西門子數控系統,西門子軟啟動,西門子以太網

      西門子電機,西門子變頻器,西門子直流調速器,西門子電線電纜

      我公司大量現貨供應,價格優勢,品質保證,德國原裝進口

      63753926477683892816

      2.3 通訊協議

      本通信協議應用于D08-8CZM型流量積算儀與上位機的通信,數據以16進制格式傳輸,波特率:9600;數據位8位;停止位:1位;效驗位:無。本協議與MODBUS協議兼容,可以通過上位機顯示流量積算儀的瞬時流量、累積流量、滿量程、單位和閥狀態(包括閥控、關閉和清洗),而且可以通過上位機設定流量積算儀的瞬時流量、使流量積算儀的累積流量清零。因此在本協議用到了MODBUS協議的命令$03(Reading 1~9words)、命令$05(Force single coil)和命令$06(Writing 1 word)。

      使用命令$03可以通過上位機讀流量積算儀的當前狀態,其通信協議的具體格式為:

      上位機 積算儀:01 03 00 02 00 08 E5 CC

      各字節含義:

      01: MODBUS地址;
      03: 功能碼03(Reading 1~9words);
      00 02:起始地址,00為高8位,02為低8位;
      00 08:讀取的字數;
      E5 CC:CRC效驗值,E5為CRC的低8位,CC為高8位。

      上位機 積算儀:01 03 10 (1)~(16) CRCL CRCH

      01:MODBUS地址;
      03:MODBUS命令號;
      10:上傳的字節數;

      (1)~(4):瞬時流量值;“00~09"表示數字“0~9",“10~19"表示“0.~9.";
      (5)~(10):流量累積值;同上;
      (11)~(14):滿量程;同上;
      (15):流量單位;00表示SCCM和SCC,01表示SCCM和SL,11表示SLM和SL;
      (16):閥狀態;00表示關閉,80表示閥控,FF表示清洗;
      CRCL:CRC的低八位;CRCH:CRC的高8位。

      3、用VB實現串行通訊

      3.1 MSComm控件

      VB的通信控件MSComm能夠提供串行通信的全部功能,程序編寫、調試簡單方便,開發速度快,該控件封裝了通信過程中的底層操作程序,用戶只需設置和監控控件的屬性和事件,就可以方便地實現異步串行通信。

      采用MSComm控件接收數據,按照接收方式分兩種形式:事件驅動方式,定時查詢方式。本例為適應流量的實時控制采用定時驅動方式,若定時器計時到,通過串行通信口向地址流量積算儀發出讀寫等操作命令,等待時間到則檢查InBufferCount屬性值來判斷輸入緩沖區中是否接受到了相應數目的字符,從而進行讀取、判斷數據合法性和數據存儲、處理等操作。

      3.2 通信功能的編程實現

      程序框圖如下:

       20221008144647_39576

      圖2 串口通信程序框圖

      串口初始化:MSComm1.CommPort = 1
      MSComm1.SThreshold = 1
      MSComm1.Settings = 9600,N,8,1
      MSComm1.InBufferSize = 1024
      MSComm1.OutBufferSize = 1024
      MSComm1.bbbbbMode = combbbbbModeBinary

      打開串口并定時發送數據命令:Private Sub Timer1_Timer()
      Dim bytearray(0 To 7) As Byte
      bytearray(0) = &H1
      bytearray(1) = &H3
      bytearray(2) = &H0
      bytearray(3) = &H2
      bytearray(4) = &H0
      bytearray(5) = &H8
      bytearray(6) = &HE5
      bytearray(7) = &HCC
      MSComm1.bbbbbLen = 21
      MSComm1.InBufferCount = 0
      MSComm1.OutBufferCount = 0
      MSComm1.RThreshold = 1
      MSComm1.PortOpen = True
      If MSComm1.PortOpen = True Then
      MSComm1.Output = bytearray
      End If
      End Sub
      接受數據:Private Sub MSComm1_OnComm()
      Do
      DoEvents
      Loop Until MSComm1.InBufferCount = 21
      Dim dataread() As Byte
      Dim tempdata As Variant
      Dim str As bbbbbb
      If MSComm1.CommEvent = comEvReceive Then
      tempdata = MSComm1.bbbbb
      ReDim dataread(UBound(tempdata)) As Byte
      For i = 0 To UBound(tempdata)
      dataread(i) = tempdata(i)
      End Sub

      同理利用以上程序框圖和通信協議可以完成下圖的所有功能:

      聯系方式

      • 電  話:18717946324
      • 聯系人:占雪芬
      • 手  機:18717946324
      • 微  信:18717946324