Microsoft PowerPoint - VB與PLC通訊控制.ppt

Similar documents
Microsoft Word - PLC與GP接線說明_缺WDH_2.doc

84

工程师培训

RS-232C [11-13] 1 1 (PLC) (HMI) Visual Basic (PLC) 402

7688使用手冊V10.doc

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

投影片 1

2

PowerPoint 簡報

Microsoft Word - 小心翼翼的二十一點N.doc

untitled

2005.book

中文手册


PCM-3386用户手册.doc

TouchWin Human Machine Interface

Microsoft Word - SMB-63-2(簡体字).doc

Visual Basic D 3D

目 录

ActiveX Control

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

Microsoft PowerPoint - VB14.ppt

電腦上的串列阜

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft Word - CH-0 .d.\...doc

SuperE RTU RTU/SCADA RTU SuperE RTU SuperE RTU SuperE RTU contr

VB控件教程大全

CAUTION RISK OF ELECTRIC SHOCK DO NOT OPEN 2

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

1

1.この説明書の読み方

untitled

Excel VBA Excel Visual Basic for Application

第三章無線感測網路系統設計

3 Driver do Microsoft Access (*.mdb) hisdata IFIX 1.4

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

安装:工业以太网轨道式交换机RS20 基础系列

Microsoft Word _Ada.doc

Microsoft Word - CY-S100 系列 說明書_0926

新 闻 学 46 7 新 闻 传 播 学 院 广 告 学 28 4 广 播 电 视 学 23 3 新 闻 学 广 告 学 ). 级 学 生 申 请 准 入 需 修 完 或 正 在 修 2 门 专 业 准 入 课 程 并 取 得 相 应 学 分 ;2). 级 学 生 申 请 准 入 需

Microsoft Word - 武術-定稿.doc

四川省普通高等学校

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP

文件編號

SuperMap 系列产品介绍

0SQL SQL SQL SQL SQL 3 SQL DBMS Oracle DBMS DBMS DBMS DBMS RDBMS R DBMS 2 DBMS RDBMS R SQL SQL SQL SQL SELECT au_fname,au_ lname FROM authors ORDER BY

壹 前 言 解 開 2048 的 謎 一 研 究 動 機 最 近 我 們 都 很 熱 衷 於 2048 這 款 遊 戲, 遊 戲 方 法 非 常 簡 單, 但 是 想 要 達 成 2048 卻 很 難, 每 次 只 差 臨 門 一 腳 就 能 達 到 2048, 因 此 都 沒 有 成 功 過 於

MVB-1001.DOC






【主持人】:给大家介绍一下,这次的培训是我们画刊部的第三次培训,当然今天特别有幸请来著吊的摄影家李少白老师给我们讲课


untitled

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

HMI COM1 RS SIEMENSE S7-200 RS485

PowerPoint 簡報

<4D F736F F D20AC4FBDBDA4FBB67DA96CAABA2DA743A67EAFC5AAA95FA7B9BD5A5F2E646F63>

ex

Users Manual NX-500

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

PJD5123-1, PJD User Guide, Korean

untitled

教 务 信 息 教 学 日 常 运 行 工 作 4 月 6 日, 教 务 部 高 丽 琴 老 师 参 加 南 昌 市 教 育 局 2016 年 中 小 学 教 师 资 格 认 定 工 作 培 训 会 2016 年 教 师 资 格 认 定 工 作 是 从 省 考 向 国 考 过 渡 后 的 第 一 次

计算机网络与经济(二).doc

Microsoft PowerPoint ?????????3 [Compatibility Mode]

ThreeDtunnel.doc

规格说明


VioCard-300 user manual

/ / (FC 3)...

Users Manual NX-750

Microsoft PowerPoint - VB5

Gerolor Motors Series Dimensions A,B C T L L G1/2 M8 G1/ A 4 C H4 E

LF 打印并走一行

Microsoft Word - InoTouch Editor编程软件手册 doc


6.Hmi Pro-face xlsx

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

CC213

(Methods) Client Server Microsoft Winsock Control VB 1 VB Microsoft Winsock Control 6.0 Microsoft Winsock Control 6.0 1(a). 2

Transcription:

VB 與 PLC 通訊控制 NCYU_BME 1

真空播種系統 真空播種系統主要之組成構件包括 : 介質裝填整平機構 打孔壓實機構 振盪式真空播種機 灑水機構等 NCYU_BME 2

針式播種機 穴盤輸送方向 NCYU_BME 3

針式播種機之電腦圖形監控系統 電腦圖形監控設計重點在於利用簡單的圖形介面及文字說明, 提供人性化與穩定性的操作方式, 讓使用者能在最短時間內操作本系統 監控系統是以 Visual Basic 程式語言撰寫, 透過 RS232 傳輸線與 PLC 連結, 監控 PLC 之運轉狀態, 經連線後將其通訊狀況顯示在監控螢幕上 NCYU_BME 4

歡迎表 NCYU_BME 5

流程表 NCYU_BME 6

設定表 NCYU_BME 7

監視表 NCYU_BME 8

資訊表 NCYU_BME 9

監控系統動作影片 NCYU_BME 10

PLC 通訊規格 NCYU_BME 11

RS-232 構造 電腦上為公頭 1 2 3 4 5 6 7 8 9 連接線上為母頭 5 4 3 2 1 9 8 7 6 1:CD Carrier Detect ( 設備 ) 2:RXD Receive 3:TXD Transmit 4:DTR Data Terminal Ready ( 電腦 ) 5:GND Ground 6:DSR Data Set Ready ( 設備 ) 7:RTS Request To Send ( 電腦 ) 8:CTS Clear To Send ( 設備 ) 9:RI Ring Indicator ( 設備 ) NCYU_BME 12

線路要求 2 (RXD) 3 (TXD) 5 (GND) 4 (DTR) 1 (DCD) 6 (DSR) 7 (RTS) 8 (CTS) 9 (RI) 3 (TXD) 2 (RXD) 5 (GND) 6 (DSR) 1 (DCD) 4 (DTR) 8 (CTS) 7 (RTS) 9 (RI) 9 Pin 9 Pin NCYU_BME 13

COM Port 初始化參數 (1) 如何從不斷改變的電壓狀態中解讀訊息, 需要通訊的雙方在通訊開始前先取得共識 共同的通訊規則 Baud Rate( 傳輸速率 ): 設定參考時脈每秒所能產生的電壓狀態最大改變率 Parity( 同位位元檢查 ): 預防錯誤的產生檢查字元碼中 1 的數目是奇數或偶數 Data Bits( 資料傳送單位 ) 7 或 8 個位元形成一個字元 Stop Bits( 停止位元 ): 停止位元的通知, 確切訊號的結束 1 1.5 2 bits 等選擇 NCYU_BME 14

COM Port 初始化參數 (2) Baud Rate Unit: bits per second (bps) 1200, 2400, 4800, 9600, 19200, 38400,... Baud rate = Data transfer rate? Data bits 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 7 bits: ASCII Code 0~127, Text Data ( 日本 ) 8 bits: ASCII Code 0~255, Binary Data( 歐美 ) NCYU_BME 15

COM Port 初始化參數 (3) Parity( 同位位元 ): 用於將所傳送字元中的 bit 和同位位元中 1 的數目作加總, 並將結果記錄 None Even: 保持值為 1 的位元數為偶數 Odd: 保持值為 1 的位元數為奇數 如 :A 01000001 010000010 偶位元 01000001 010000011 奇位元 NCYU_BME 16

COM Port 初始化參數 (4) Start Bits:1 bits Stop Bits:1 1.5 or 2 bits Ex: Data Bits:8, Stop bits:1, No Parity 每組資料長度 Start+Data+Parity+End 1 0 1 0 0 1 0 0 1 1 Stop Bit Start Bit Data (Hex: 91) Stop Bit Start Bit NCYU_BME 17

VB 中的串列通訊元件 引用步驟 1. 加入命名空間 Imports System.IO.Ports 2. 宣告通訊埠物件 可以用 Dim RS232 As SerialPort 的敘述 或 直接從工具箱雙擊 SerialPort 的控制元件選項 NCYU_BME 18

SerialPort 操控原則 a. 物件 : 首先瞭解所要操作的物件是什麼? b. 屬性 : 設定該物件所具備的特性 c. 事件 : 該物件在系統執行的過程中會因其他物件而發生什麼樣的事情? d. 方法 : 當該物件被引發了某個事件之後, 系統 ( 或程式 ) 應該採用的相應步驟為何? NCYU_BME 19

SerialPort 控制項 Properties BaudRate, DataBits, Handshake Parity, PortName, ReadBufferSize StopBits, ReceiveBytesThreshold NCYU_BME 20

SerialPort Property PortName RS232.PortName = COM1 => use Com1 port BautRate RS232.BaudRate = 1200, 2400, 4800, 9600, 19200,... Parity RS232.Parity=Parity.None (Parity.None, Parity.Odd, Parity.Mark, Parity.Space) DataBits RS232.DataBits = 8 StopBits RS232.StopBits = StopBits.One (None, OnePointFive, Two) 設定完成後, 送出和收回的字串便以此為基準, 連接的兩端必須完全一樣, 才能順利的溝通 NCYU_BME 21

SerialPort Events Open 或 Close: 設定或關閉通訊連接埠的狀態 Ex: RS232.Open <= Open Com Port... <= 收發 Data... <= 收發 Data RS232.Close <= Close Com Port ReadExisting Ex: InStr = RS232.ReadExisting <= 由串列埠讀入 Data Write Ex: RS232.Write( AT & vbcrlf ) => 由串列埠輸出 AT & Return 字元 NCYU_BME 22

通訊步驟 加入通訊物件 : 即 SerialPort 物件 設定通訊埠 : 即 SerialPort 屬性 設定通訊協定 : 即 HandShakingt 屬性 設定傳輸速度等參數 : 即 BaudRate 屬性 設定其他參數 : 即其他屬性設定 開啟通訊埠 : 即 SerialPort.Open 送出或讀入字串 : 即使用 ReadExisting 和 Write 屬性 關閉通訊埠 : 即 SerialPort.Close NCYU_BME 23

VB 中串列通訊元件的引用 FX-2N 的通訊參數 9600 bps 偶同位 7 個資料位元 1 個停止位元 NCYU_BME 24

PLC 控制系統設計流程 系統設計 輸出入接點設計 設計控制原理圖 程序寫入 PLC 測試並修改 PLC 程序 電腦端的通訊程式開發 NCYU_BME 25

PLC 通訊方法 1. 外接延伸通訊板 2. 內建通訊埠 NCYU_BME 26

PLC 通訊協定封包格式 寫入指令 Chr(2) 1 01 Chr(3) 讀取指令 Chr(2) 0 01 Chr(3) NCYU_BME 27

FX-2N 群組位址 輸入接點 群組位址 輸出接點 群組位址 X0-X7 0080 Y0-Y7 00A0 X10-X17 0081 Y10-Y17 00A1 X20-X27 0082 Y20-Y27 00A2 計時器 群組位址 資料暫存器 群組位址 T0 0800 D0 1000 T1 0802 D1 1002 T2 0804 D2 1004 NCYU_BME 28

8-15 NCYU_BME 29

控制指令範例 ( 寫入 ) 希望呈現的 Y 接點狀態 5 3 資料內容 : 2 個字元 位元組數為 1 4 個字元 位元組數為 2 指令排列 十六進位 Y0-Y7 NCYU_BME 30

CheckSum 程式內容 指令號碼到結尾字元的組合 Function CheckSum(ByVal InputStr As String) As String Dim StrLen As Integer, a As Integer, j As Integer Dim StrCh As String, Sum As String StrLen = InputStr.Length a = 0 For j = 1 To StrLen StrCh = Mid(InputStr, j, 1) a = Asc(StrCh) + a Next j Sum = Hex(a) If Sum.Length = 1 Then Sum = "0" + Sum CheckSum = Mid(Sum, Sum.Length - 1, 2) End Function 轉換十六進位 最後 2 個字元 指令字串程式內容 NCYU_BME 31

寫入之回傳値 指令正確 ACK (ASCII 編號 6) 指令錯誤 NAK (ASCII 編號 21) NCYU_BME 32

讀取之回傳値 讀取 X0-X7 的狀態 啟始字元 指令號碼 群組位元 位元組數 結尾字元 CheckSum Chr(2) 0 0080 01 Chr(3) 5C 回傳格式 啟始字元 資料內容 結尾字元 CheckSum Chr(2) 63 Chr(3) 6C 第 1 字元 第 2&3 字元 第 4 字元 第 5&6 字元 6 54 3 51 2+54+51+3=110 110 6C( 十六進位 ) X0-X7 的狀態 X7 X6 X5 X4 X3 X2 X1 X0 0 1 1 0 0 0 1 1 NCYU_BME 33

讀取 PLC 回傳値的注意事項 RS232.Write(OutCmd) ' 讀取或寫入指令 TimeDelay(100) ' 需要一點時間傳遞資料 RetStr = RS232.ReadExisting() ' 讀取 PLC 回傳値 讀取 PLC 回傳値前需要延遲, 本裝置的延遲時間最少需要 40 毫秒 Private Sub TimeDelay(ByVal DT As Integer, ByVal retlen As Integer) Dim StartTick As Integer StartTick = Environment.TickCount() ' 開始計數前的 Tick Do If RS232.BytesToRead >= retlen Then Exit Sub If Environment.TickCount() - StartTick >= DT Then Exit Do Loop End Sub Application.DoEvents() ' 處理佇列中的訊息 Retlen 為回傳値的字元數 : 寫入 retlen=1 讀取 retlen=? NCYU_BME 34

群組內容寫入與讀取 寫入 讀取 NCYU_BME 35

XY 接點的直接讀取 與 Y 接點控制 NCYU_BME 36