台达PLC与VB通讯简易教程

台达PLC与VB通讯简易教程
台达PLC与VB通讯简易教程

VB 實現電腦與台達PLC 的串列通信

───────PLC 產品處 王乃全

摘要:本文介紹了Visual Basic6編程語言,MODBUS ASCII 通信協定及通過VB 如何實現

與台達DVP PLC 的通信

關鍵字:Visual Basic MODBUS ASCII PLC 前言:

現代的世界是一個高度自動化的世界,各式各樣的設備都可以和電腦連線,而最簡單的自動化連線方式就是使用串列通信。

VB 提供了串列通信控制項可以讓開發者開發串列通信的系統程式,功能上也提供了不少為用戶著想的簡便之處。

PLC 是現在控制領域不可缺少的部分,已經非常普及,如何簡便的與PLC 交互已經成為眾多廠商新的競爭戰場。由此產生了人機界面、組態軟體等產品。這些產品的產生大大簡化了對PLC 的控制,操作,使用更方便。但也有共同的缺點:價格過高和開發性較差。VB 作為“原始"的編程語言在這兩方面無疑有著明顯的優勢。

本文結合一個簡單的案例,用比較基礎的概念為大家展示如何通過VB 實現PC-PLC 的通信,對於初涉這個領域的工程師,也會受益與本文提供的基本概念。

一、串列通信基本概念

1、 通信的種類:通常通信的形式可以分為兩種,並行通信(Parallel Communication )和串

列通信(Serial Communication )。所謂並行,既是一次傳輸量為8位;而串列一次只傳1位元。這兩種不同的通信模式如圖

平行傳輸

串列傳輸 2、 串列通信

常用的串列通信也有兩種。分別位RS-232和RS-485

2-1 RS-232

RS-232的信號准位元乃是參考地線而來的,如圖,傳輸端參考接地端1來傳送資料;接收端則參考接地端2還原出傳送端的信號準備。

接地端1 接地端2 由圖可知,由於兩個接地端准位不一定一樣,而且很容易受到干擾,所以信號在RS-232線路傳輸時,很容易產生錯誤。

2-2 RS-485

RS-485的信號傳輸方式如圖。

接地點1 接地點2

RS-485的信號將被傳送出去時會分成正負兩條線路,當到達接收端後,在將信號相減還原成原來的信號;如果將原始的信號表示成(DT),而被分成的信號分別標示成(D+)及(D-),則DT= (D+)-(D-)

同樣地,接收端在接收到信號後,也依據上式還原成原來的樣子。如果線路受到干擾,兩條線路的信號分別為(D+)+Noise (D-)+Noise。接收端還原信號為

(DT)= [(D+)+Noise]-[ (D-)+Noise]

與先前結果一樣,所以RS-485可以有效的防止雜訊的干擾。

二、Visual Basic基本概念

1、VB是微軟的視窗軟體,提供了很多介面成員。物件、屬性、事件、方法就是四個

重要的介面。

2、VB常用控制項。

2-1標籤控制項

此控制項專用於顯示文字,數位用,顯示如圖

2-2 按鈕控制項

此控制項使用率很高,提供一個供系統用戶操作用的按鈕

2-3 計時器控制項

此控制項的最大作用在於固定的時間內會執行所設置的程式碼一次。

VB提供了大量的控制項,在此不一一敍述。

三、MScomm控制項

要完成VB與PLC等串列設備的通信,MScomm控制項是一個很好用的控制項。

所以在此有必要對MScomm控制項做一個較為詳細的說明

1、MScomm非標準控制項,要手動添加,步驟如下:

1-1選擇功能表的【工程】

1-2 選擇【部件】

1-3 在彈出的對話方塊中做如圖選擇

1-4在部件選項卡就會出現MScomm控制項

2、基本屬性

電腦通信口選擇

通信參數設置

PortOpen

通信口是否打開

Input

收到的字元

Output

發送的字元

四、MODBUS ASCII 。

Modbus 分為ASCII 和RTU 兩種,ASCII 採用的格式和校驗相對簡單,本文採用ASCII 格式,並僅對使用的功能碼進行說明,更多的資訊,請參看協定的詳細說明 1、通信格式

STX 起始字元 “:"(3AH ) ADR 1 ADR 0 通信地址(站號)採用2個字元

CMD 1 CMD 0 功能碼。採用2個字元 DATA (0) DATA (1) ……….

DATA (n-1) 資料項目

LRC CHK 1 LRC CHK 0 LRC 校驗碼。採用2個字元

END 1 END 0

結束字元。採用2個字元。 END 1 = CR (0DH ),END 0 = LF (0AH )

2、 LRC 演算法

ADR H+CMD H+DATA H ,然後取2的補數

3、功能碼

05, 寫入線圈 01, 讀線圈狀態 格式 例子(十六進位)

字頭 3A 站號 01 功能碼 05 地址

05

00 寫入狀態 FF 00 LRC 碼 F6

06, 寫入單個字寄存器 格式 例子(十六進位)

字頭

3A

格式 例子 (十六进制)

字头 3A 站号 01 功能码 01 起始地址 06 14 读取数目 00 25

LRC 码

BF

站號01

功能碼06

寄存器位址06

00

寫入的資料12

34

LRC 校驗碼AD

五、VB與PLC通信的實現

1、控制要求

a、控制PLC的啟動、停止,並顯示運行狀態(綠色為運行,紅色為停止)

b、能夠用交替型按鈕控制Y0,Y1。並用指示燈顯示Y0,Y1狀態。(綠色為運行,紅色為

停止)

c、能夠對D256,D512兩個寄存器進行數值寫入的操作

2、思路:

a、PLC啟動停止的標誌位元為M1072,查DVP協議,知道位址為H0C30。按功能碼

01操作

b、同樣Y0,Y1的地址分別為H0500,H0501。寫入FF00為ON,0000為OFF,按功能

碼05操作

c、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演算法校驗的實現

Public Function LRC(str As String) As String

c = 0

l = Len(str)

For c = c + 1 To l

c_data = Mid$(str, c, 2)

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

c = c + 1

Next c

If d_lrc > &HFF Then

d_lrc = d_lrc Mod &H100

End If

h_lrc = Hex(&HFF - d_lrc + 1)

If Len(h_lrc) > 2 Then

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

End If

LRC = h_lrc

End Function

2)、運行的一開始就判斷PLC的狀態,並設置標誌位元'初次運行打開串口,並顯示PLC運行狀態

Private Sub Form_Load()

Dim s1 As String

Dim s2 As String

Dim s22 As String

Dim s3 As String

Dim s4 As String

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)

If s4 = "0C30FF00" Then

plc = 1 'PLC為運行標誌

Else

plc = 0 'PLC為停止標誌

End If

End Sub

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

Private Sub Timer5_Timer()

Dim s1 As String

Dim s2 As String

Dim s22

Dim s3 As String

Dim s4 As String

s2 = "01010C300001"

s22 = LRC(s2)

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

MSComm1.Output = s1

s3 = MSComm1.Input

s4 = Mid$(s3, 8, 2)

If s4 = "31" Then

plc = 1 'PLC為運行標誌

Else: If s4 = "30" Then plc = 0 'PLC為停止標誌

End If

If plc = 1 Then

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

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

Else

Label2.Caption = "PLC已經停止"

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

End If

End Sub

4)、PLC的啟動與停止

'啟動PLC

Private Sub start_Click()

Dim strout As String

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

End Sub

'停止PLC

Private Sub stop_Click()

Dim strout As String

Timer5.Enabled = False

str = "00050C300000"

LRCC = LRC(str)

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

MSComm1.Output = strout

Timer5.Enabled = True

End Sub

Y0,Y1的ON/OFF與PLC啟動/停止的控制方式相同,指示燈的表示方式也相同。D256,D512資料寫入的操作類似,此處由於篇幅的關係,就不把代碼全部列出。

六、總結

由於VB語言使用的簡易型,為眾多工程技術人員與串列設備的通信提供了很大的方便。

台達PLC採用標準的MODBUS協定,這一協定目前廣為流行,為大家所熟知,也為大家最終實現通信提供了簡化的平臺。

由於台達所有的機電產品都支援MODBUS協定,所以,掌握了VB與PLC通信過程,也就等於掌握了PC與台達所有機電產品的通信。

本文的形成由於時間的關係,也由於筆者的能力所限,難免有不祥之處,也希望大家能

夠不吝指出。

參考文獻

《VB與RS-232通信實例》

《VB6從入門到精通》

《DVP-PLC應用技術手冊》

《DVP-Protocal》

2005-12-18

台达PLC通讯协议

台达PLC通讯协议V1.12 通讯接口RS-232C RS-485 2. 通讯协议ASCII 模式, 9600(传输速率), 偶同位, 1 个起始位, 1 个停止位 9600,7,e,1 3. 通讯资料格式 STX 起始字符‘:’(3AH) ADR 1 通讯地址: ADR 0 8-bit 地址包含了2 个ASCII 码 CMD 1 命令码: CMD 0 8-bit 命令包含了2 个ASCII 码 DATA(0)资料内容: DATA(1)n个8-bit 资料包含了2n 个ASCII 码 ………. n <=74 个ASCII 码 DATA(n-1) LRC CHK 1 侦误值: LRC CHK 0 8-bit 侦误值包含了2 个ASCII 码 END 1 结束字符: END 0 END 1 = CR(0DH),END 0 = LF(0AH) ADR(通讯地址) PLC 通讯地址出厂设定值为0x01,因此(ADR 1, ADR 0)=’0’,’1’ ’0’=30H, ‘1’= 31H LRC CHK(侦误值)CMD(命令指令)及DATA(数据字符) LRC CHK(侦误值) 侦错方式采用LRC(Longitudinal Redundancy Check)侦误值。LRC 侦误值乃是将ADR1 至最后

一个资料内容加总,将该值取2 补码(2’s Compl ement)得到之结果即为LRC 侦误值。附录-3 例: STX ‘:’ ADR 1 ‘0’ ADR 0 ‘1’ CMD 1 ‘0’ CMD 0 ‘3’ 起始资料地址‘0’ ‘4’ ‘0’ ‘1’ 资料数‘0’ ‘0’ ‘0’ ‘1’ LRC CHK 1 ‘F’ LRC CHK 0 ‘6’ END 1 CR END 0 LF 01H+03H+04H+01H+00+01H = 0AH 0AH 的2 补码为F6H 注1 2 补码的求法:(1 补码再加1) 0A(H)= 0000 1010(B)先取1 补码(将b0~b7 反相)得1111 0101(B),再加1 为1111 0110

台达PLC串行通讯及应用案例

浅析台达PLC串行通讯及应用案例 摘要:本文介绍串行通讯的基本概念,台达PLC的串行通迅功能及在项目中实际应用案例,主要讨论如何使用台达PLC完善的通讯功能完成各种实际应用,体现了台达PLC强大的 通讯功能及其便利性。 关键词:串行通讯、PLC、RS485、MODBUS协议、变频器、自由口通讯、EASY LINK 一、前言 随着计算器技术的发展,通讯传输在工业自动化控制领域得到越来越广泛的应用,由于串行通讯方式具有使用线路少、成本低、简单易用,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。现在各PLC生产厂家都极其重视通讯在PLC推广中的应用,并且各具有优势特点,合理利用通讯功能将极大的降低控制成本,提高产品竞争力。 二、串行通讯简介 通讯即是不同的设备通过线路互相交换数据,其主要目的在于将数据从某端传送到另一端,实现数据的交换。通常有并行和串行两种方式,由于并行传输方式在数据电压传送的过程中容易因线路的因素而使得电压准位发生变化(衰减、线路互相干扰),而串行通讯方式则能很好的解决这些问题,因此在工业应用中绝大多数使用串行通讯。 串行通讯的接口方式分为RS-232和RS-485两种,下面主要介绍两种方式的一些特点: 1、RS-232 (1)RS-232-C接口连接器一般使用型号为DB-9的9芯插头座,只需三条接口线,即“发送数据”、“接收数据”和“信号地”即可传输数据,其9支脚位的定义如下: (2)在RS232的规范中,电压在+3V---+15V(一般使用+6V)之间称为“0”或“ON”;电压在-3V----15V(一般使用-6V)之间称为“1”或“OFF”;计算机上的RS-232“高电位”约9V,而“低电位”则约-9V。 (3)RS-232为全双工工作模式,其讯号准位是参考地线而得,分别作为数据的传送和接收;实际应用中其传输距离可以达到15米。只具有单站功能,即一对一通讯。 2、RS485 (1)采用正负两根信号线作为传输线路。 (2)RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。

台达PLC通信协议ModbusASCII(DVP)

台达P L C通信协议 M o d b u s A S C I I(D V P) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

台达PLC通信协议ModbusASCII(DVP) 编撰:李浩特日期:2013/11/12 版本:Ver:3.2 例1:读D0(地址为1000H)寄存器数据-------------------------------2 例2:读D0-D8(D0地址为1000H,D8地址为1008H)寄存器数据----------3 例3:把0010H写入D0数据寄存器------------------------------------4 例4:写D10-D17数据寄存器-----------------------------------------5 例5:强制把0010H写入D0数据寄存器--------------------------------5 例6:读取M0(地址为0800H)状态-------------------------------------6 例7:读取M0-Y32状态----------------------------------------------6 例8:读取Y0(地址为0500H)状态-------------------------------------7 例9:读取Y0-Y37状态----------------------------------------------7 例10:读取X0(地址为0400H)状态------------------------------------8 例11:读取X0-X37状态--------------------------------------------8 例12:强制Y0置位------------------------------------------------9 例13:强制Y0复位------------------------------------------------9 例14:强制M0置位------------------------------------------------10 例15:强制M0复位------------------------------------------------10

台达PLC通信协议书ModbusASCII[DVP]

台达PLC通信协议ModbusASCII(DVP) 编撰:李浩特日期:2013/11/12 版本:Ver:3.2 例1:读D0(地址为1000H)寄存器数据-------------------------------2 例2:读D0-D8(D0地址为1000H,D8地址为1008H)寄存器数据----------3 例3:把0010H写入D0数据寄存器------------------------------------4 例4:写D10-D17数据寄存器-----------------------------------------5 例5:强制把0010H写入D0数据寄存器--------------------------------5 例6:读取M0(地址为0800H)状态-------------------------------------6 例7:读取M0-Y32状态----------------------------------------------6 例8:读取Y0(地址为0500H)状态-------------------------------------7 例9:读取Y0-Y37状态----------------------------------------------7 例10:读取X0(地址为0400H)状态------------------------------------8 例11:读取X0-X37状态--------------------------------------------8 例12:强制Y0置位------------------------------------------------9 例13:强制Y0复位------------------------------------------------9 例14:强制M0置位------------------------------------------------10 例15:强制M0复位------------------------------------------------10

台达通讯示范程序及说明

精心整理 台达通讯示范程序及说明一、本试验主要完成以下功能: 1)通过RS指令完成在HMI上读写DTA温度控制器、ASDA台达伺服控制器任意地址数据;2)通过人机HMI/PC实现伺服电机Pr模式下回原点、任意位置选择与定位控制。 二、试验用硬件和软件列表 序号名称型号数量 1 台达温度控制器DTA9696R1 1 2 台达伺服单元ASD-A0420LA 1 3 台达PLC DVP12SA11T 1 4 人机界面HMI PWS6600S-S 1 5 24V电源** 1 5 通讯线** 若干 调试过程中使用的软件: 1).HITECH-ADP 6.1.1.03画面编程软件 2).DeltaservoUIsoftwareA1.003伺服调试工具 3).台达PLC编程软件WPLSoft-2.09 三、资料引用描述: 1).ADP软件使用说明.pdf 2).ASD-A系列伺服驱动器系列手册.pdf M1000~M1014:参见P2-61~P2-63 BMOV:全部传送参见P6-24 RS:数据传输参见P7-81 ASCI:HEX转为ASCII参见P7-97 HEX:ASCII转为HEX参见P7-102 CCD:校验码参见P7-105 3)台达温度控制器DTA系列操作手册 四.程序中的关键部分编写思路 1)“二补码”的计算: 一个8位十六进制数(如**H)的二补码的计算方法是:FFH-**H+01H=100H-**H 2)编程的时候请参考章节(RS:数据传输参见P7-81)ASCII表 3)下面我们以写数据为例来说明编程思路 如下图所示,在PLC启动正向RUN的瞬间,写入初始化数值(图中左列所示);由 人机界面输入16进制数地址(如4700H),通过ASCI指令将其每一位转化为ASCII码存放到D60(D80)开始的4个数据寄存器中,然后通过BMOV指令送到D105…D108(D109…D112)中。数据传入以后,从地址ADR1/0开始,两个一组依次相加计算校验 码(见程序说明)。 在一个PLC扫描周期,需要将数据写入指定的地址当中去,以免产生错误,但是在人机 界面上,在同一时间只能写入一个数据,为解决这个矛盾,我们采用先把数据写入PLC 的数据寄存器中,待地址和数据都写好以后,人为地给一个触发信号,将数据同时写入。补码计算子程序: 时间的处理方法:分时处理——在不同时间段进行不同的读写操作。 如: 时间段M0----温度控制器写操作

台达VFD通讯示例

台达VFD-B变频器串口通信中,频率设定,还有正转、反转、停止字符串是怎样写? 范例1:设定VFD-B系列变频器的频率为30.00Hz,通讯格式为9600,8,N,2,RTU 01 06 2001 0BB8 D488 范例2:设定VFD-B系列变频器正转,通讯格式为9600,8,N,2,RTU 01 06 2000 0022 0213 范例3:设定VFD-B系列变频器停止,通讯格式为9600,8,N,2,RTU 01 06 2000 0001 43CA 西门子与台达变频器通讯 ORGANIZATION_BLOCK 主程序:OB1 TITLE=实现S7-200 PLC与台达变频器通信 // 实现功能是PLC通过RS485通信控制变频器的正转启动、反转启动、停止、加速、减速和读取输出频率。变频器通过Modbus通信方式进行 // 要求台达变频器设置基本通信参数: // P00=d03(主频率由RS485控制) // P01=d03(运转/停止由RS485通信控制) // P88=d01(站点定义为1号站) // P90=d00 P91=d00 P92=d02 P113=d01 // (其他参数都是出厂默认值,可根据实际情况调节) // BEGIN Network 1 LD SM0.1 CALL SBR0

Network 2 // 正转启动命令LD M10.0 EU MOVB 16#30, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#30, VB109 MOVB 16#30, VB110 MOVB 16#30, VB111 MOVB 16#31, VB112 MOVB 16#32, VB113 CALL SBR1 Network 3 // 反转启动指令LD M10.1 EU MOVB 16#30, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#30, VB109 MOVB 16#30, VB110 MOVB 16#30, VB111 MOVB 16#32, VB112 MOVB 16#32, VB113 CALL SBR1 Network 4 // 停止指令 LD M10.2 EU MOVB 16#30, VB104

台达PLC通讯协议

台达PLC通讯协议原文 1、通讯协议ASCII模式,9600,7,e,1 ADR(通讯地址): PLC通讯地址出厂设定为0X01,因此(ADR1,ADR0)=‘0’,‘1’→=30H,31H 校验码: 校验码采用LRC方式,将ADR1至最后一个资料内容加总,将该值取2的补数,结果即为LRC校验码。 例: 01H+03H+04H+01H+00+01H=0AH 0AH的2的补数为F6H

注1: 2补数的求法:(1补数再加1) 0A(H)=00001010(B)先取1补数(将b0-b7反相)得11110101(B),再加1为11110110(B)=F6(H)即为0A(H)的2补数。 注2: 在收到一串完整的通讯命令,要检查这串通讯命令是否有误,只要将(ADR1,0)至(LRC1,0)加总等于0,则通讯无误,否则表示命令中资料有些是错误的。 通讯异常PLC的回应: 因为Address 0400 对Function 01是不合法的,所以回应Exception Code=0X02,且Function 01被设为81(b7被设为1),亦即由回应的Function code的MSB被设为1表示PLC回应ERROR MESSAGE,并且由Function code可得知是何种错误。 可用的命令码叙述如下:(每个device的address,请参考最后一页)

资料字元的格式依命令码而定,依可用的命令码的资料内容分别叙述如下: 例:从从动装置01读取线圈T20-T56 PC→PLC “:01 01 06 14 00 25 BF CR LF”

例:从从动装置01读取接点Y024-Y070 PC→PLC “:01 02 05 14 00 25 BF CR LF” 例:从从动装置01读取线圈T20-T27 PC→PLC “:01 03 06 14 00 08 DA CR LF”

台达plc伺服通信例子

PLC通讯控制伺服电机 src=https://www.360docs.net/doc/9c1224020.html,/forum/pic/837305_1.GIF >

RS、MODRD/MODWR/MODRW、CVFD的比较: 1. RS---串行数据传输: █此指令是专为主机使用RS-485串联通讯接口所提供的便利指令。在程序中可以无限使用RS指令,但不可同一时间执行两个以上的RS指令。 █接口设备(变频器,温度控制器…)如果配备RS-485串行通讯,并且该设备的通讯格式也有公开就可以由PLC的使用者以RS指令设计程序来传输PLC与接口设备的数据。 █此指令的优点是: 可以读取或者写入任何通讯格式的外围接口设备(变频器,温度控制器…); (2)可以读/写位装置; █此指令的缺点是:(1) 该指令不能对接口设备的参数地址直接作用,必须先将欲读取/写入的数据内容(头码,装置地址,功能码,数据地址,个数/数据内容,校验码,尾码)写入到寄存器中,然后才能够读取/写入。(2)只能通过RS-485来监控外围接口设备。2.MODRD---MODBUS数据读取 █ MODRD指令是专门针对MODBUS ASCII模式/RTU模式的通讯外围设备专用的驱动指令。

█如果你要以通讯方式读取接口设备(变频器,温度控制器…)的某一参数,并且该接口设备通讯格式符合MODBUS的通讯格式,建议使用MODRD指令,因为这个指令相对RS指令要方便。 █此指令的优点是:(1)操作数简易,可以直接对参数地址进行操作。当欲读取外围接口设备的某一参数时,只要填写外围接口设备的装置地址、欲读取数据的地址,读取的笔数(WORD); (2)如果是ASCII形式,PLC能够将读取到的ASCII数据转化为十进制或十六进制数值存放到D1050~D1055。 █此指令的缺点是:(1) 只能读取符合MODBUS通讯格式的接口设备; (2)不能读取位装置; (3)最多只能读取6笔(6个word)数据。3.MODWR---MODBUS数据写入 █MODRD指令是专门针对MODBUS ASCII模式/RTU模式的通讯外围设备专用的驱动指令。 █如果你要以通讯的方式给外围接口设备(变频器,温度控制器…)写入或修改一个参数,并且此接口设备通讯格式符合MODBUS的通讯格式,建议使用MODWR指令,因为这个指令相对RS指令要方便。 █此指令的优点是:(1)操作数简易,可以直接对参数地址进行操作。当欲写入外围接口设备的某一参数时,只要填写外围接口设备的装置地址、欲写入数据的地址,欲写入的数据内容。 █此指令的缺点是:(1) 只能写入符合MODBUS通讯格式的接口设备; (2) 并且该指令执行一次,只能写入一笔(一个WORD)数据,(3)不能写入位装置。4.MODRW---MODBUS 数据读/写 █此指令也是针对“外围接口(变频器,温度控制器…)设备符合MODBUS通讯格式”的指令。█此指令既可以用来读取也可以用来写入外围接口设备(变频器,温度控制器…)的参数 █此指令的优点是:(1) 该指令既可以用来读取也可以用来写入数据,可以直接对参数地址进行操作; (2)并且能够一次读取/写入多笔(ES/EP最多8个word;EH最多16个word)数据。█此指令的缺点是:(1) 只能写入符合MODBUS通讯格式的接口设备,(2)不能读/写位装置。 5.CVFD软件---数据读/写█此软件可以可以读取也可以写入,并且还能够监控发送和接受到的数据. █此指令的优点是:(1)该软件可以很直观的监视发送&接收的数据;(2)该软件可以很方便的对外围接口设备读取和写入数据;(3)该软件能够对位装置进行读/写(4)该软件最多可以读取23(EH系列PLC)个word数据。理论上最多可以写入127个word数据。(5)该软件既可以通过RS-232也可以通过RS-485来监控外围设备。(6)和MODBUS,RS指令相比较,使用CVFD软件监控通讯数据是最方便,最直观的。

台达PLC通讯协议(2)

台达PLC通讯协议V1.12通讯接口RS-232C RS-485 2. 通讯协议ASCII模式,9600 (传输速率),偶同位,1个起始位,1个停止位 9600,7,e,1 3. 通讯资料格式 STX起始字符’:’(3AH) ADR 1通讯地址: ADR 0 8-bit地址包含了2个ASCII码 CMD 1命令码: CMD 0 8-bit命令包含了2个ASCII码 DATA( 0)资料内容: DATA(1)n个8-bit资料包含了2n个ASCII码 ......... ... n <=74 个ASCII 码 DATA (n-1) LRC CHK 1侦误值: LRC CHK 0 8-bit侦误值包含了2个ASCII码 END 1结束字符: END 0 END 1 = CR( 0DH), END 0 = LF( 0AH) ADR (通讯地址) PLC 通讯地址出厂设定值为0x01,因此(ADR 1, ADR 0 =' 0 ' ,' 1' ' 0' =30H, '1'= 31H LRC CHK(侦误值)CMD (命令指令)及DATA (数据字符) LRC CHK(侦误值) 侦错方式采用LRC (Longitudinal Redundancy Check )侦误值。LRC侦误值乃是将ADR1至最后一个资料内容加总,将该值取2补码(2' s Complement )得到之结果即为LRC侦误值。 附录-3 例: STX ':' ADR 1 ' 0' ADR 0 ' 1' CMD 1 ' 0' CMD 0 ' 3' 起始资料地址’0' '4' '0' '1' 资料数’0' '0' '0' '1' LRC CHK 1 ' F' LRC CHK 0 ' 6' END 1 CR

台达PLC通讯组态设置.doc

概述系统连接硬件连接硬件设置设备组态数据连接常见问题 概述 台达PLC通讯协议支持与台达PLC通讯。本协议采用串行通讯,使用你计算机中的串口。 系统连接 您可以通过一个RS232-RS485转换器将一台或多台模块与计算机连接到一起。当用一条485总线连接多台模块时,每台模块的地址必须是唯一的. 硬件连接 请参照您所使用的模块的通讯说明进行连接。 (1)RS232:采用厂家提供的专用电缆。一端接计算机的串口,一端接PLC的编程口。 波特率 9600 数据位 7位 停止位 2位 校验位偶校验 (2)RS485:计算机通过RS232串口接转换模块,变成RS485信号后,接到PLC的485口上 波特率 9600 数据位 7位 停止位 1位 校验位偶校验

设备组态 设备驱动根据模块不同分为选择相应的模块驱动。如图:根据您所使用的PLC、智能模块选择设备驱动。 下图是设备组态用户界面:

根据PLC或智能模块内部设置的地址填写“设备地址”,相对于协议的设备ID. 更新周期:默认50毫秒就是说每隔一个更新周期读一次数据包。请根据组态工程的实际需要和PLC的通讯反应时间设定。 超时时间:默认8秒,当到超时时间的时候,PLC的数据还没传上来被认为是一次通讯超时。请根据组态工程的实际需要和现场的通讯情况设定。 故障后恢复查询:当设备发生故障导致通讯中断,系统会每隔一定“周期”查询该设备。直到“最长时间”如果还没有反应,在这次运行过程中系统将不再查询该设备。 “动态优化”和“初始禁止”请在力控工程人员的指导下使用,否则请保持默认状态。 下图为串口通讯设置:请根据PLC或智能模块的通讯说明设置波特率,数据位,校验位,停止位。

台达变频器和PLC通讯功能的实现方法

台达变频器和PLC通讯功能的实现方法 1 引言 plc和变频器是自动化设备上最常见的部件。其最初的控制型式大多是用plc的i/o点和模拟量模块直接控制变频器的启停和实现调速,但这种控制方式有两大弊端,最大的弊端是占用plc的i/o点和需要增加昂贵的模拟量模块,造成控制成本的增加。当被控制的变频器数量较多时,此弊端更是明显。第二个弊端是模拟量控制容易受干扰,传输距离也容易受限制。 近几年来自动化产品不断更新换代,性能不断提升,功能日益强大。在小型plc方面这个变化更加明显,现在的小型plc不仅执行速度大大提高,指令功能日益丰富,更重要的是大都支持多种通讯协议,并提供了更多的通讯接口。同时大多的变频器也具有了rs485接口,也能支持多种通讯协议,最常见的就是modbus协议。这种技术的进步为plc和变频器通讯的实现,提供了软件上的协议和硬件上的物理接口,从而为低成本高性能的通讯控制的实现打下了良好的基础。 2 通讯相关的基础知识 2.1 通讯协议communications protocol 通信协议是指通信双方的一种约定。这个约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程。 modbus协议是工业控制器中使用较普遍的一种网络协议。通过此协议,各种控制器之间(比如plc、变频器、伺服驱动器、各种智能仪表)、控制器通过其它网络(比如以太网)和其它设备之间都可以通信交换信息。该协议定义了一个控制器可以识别的信息架构,从而使不同厂商生产的支持此协议的各种工控产品可以连接到一个网络上进行集中控制和信息交换。 2.2 rs485接口的特点 rs485接口是在大家熟知的rs232接口的基础上推出的性能更优的一种串口。由于rs485接口具有良好的抗噪声干扰性,长的传输距离和多站功能等优点,它成为应用越来越广泛的串行接口。此外,rs485接口组成的半双工网络一般只需二根屏蔽双绞电线,这为长距离的通讯线路节省了很多配线,降低了系统的成本。 3 台达plc和变频器通讯功能的特点

台达PLC通讯协议

台达PLC 通讯协议V1.12 通讯接口RS-232C RS-485 2. 通讯协议ASCII 模式, 9600(传输速率), 偶同位, 1 个起始位, 1 个停止位 9600,7,e,1 3. 通讯资料格式 STX 起始字符‘:'(3AH) ADR 1 通讯地址: ADR 0 8-bit 地址包含了2 个ASCII 码 CMD 1 命令码: CMD 0 8-bit 命令包含了2 个ASCII 码 DATA(0)资料内容: DATA(1)n 个8-bit 资料包含了2n 个ASCII 码 ………. n <=74 个ASCII 码 DATA(n-1) LRC CHK 1 侦误值: LRC CHK 0 8-bit 侦误值包含了2 个ASCII 码 END 1 结束字符: END 0 END 1 = CR(0DH),END 0 = LF(0AH) ADR(通讯地址) PLC 通讯地址出厂设定值为0x01,因此(ADR 1, ADR 0)='0','1''0'=30H, ‘1' = 31H LRC CHK(侦误值)CMD(命令指令)及DATA(数据字符) LRC CHK(侦误值) 侦错方式采用LRC(Longitudinal Redundancy Check)侦误值。LRC 侦误值乃是将ADR1 至最后一个资料内容加总,将该值取 2 补码(2's Complement)得到之结果即为LRC 侦误值。附录-3例: STX ‘:' ADR 1 ‘0' ADR 0 ‘1' CMD 1 ‘0' CMD 0 ‘3' 起始资料地址‘0' ‘4' ‘0' ‘1' 资料数‘0' ‘0' ‘0' ‘1' LRC CHK 1 ‘F' LRC CHK 0 ‘6' END 1 CR END 0 LF 01H+03H+04H+01H+00+01H = 0AH 0AH 的2 补码为F6H

台达plc通讯格式示例(20201006151256).docx

台达DVP系列PLC通讯设定示例 (ES/EX/SS_V6.0 SA/ SX _V1.2 SC_V1.0 SV_V1.0 EH2_V1.0 EH3/SV2_V1.0 ) M1120 SA/SX/SC (COM1 RS-232 COM2 RS-485) EH2/EH3/SV2 M1136 MODBUS ASCII/RTU M1138 (COM1 RS-232 COM2 RS-232/RS-485/RS-422) M1139 115200 bps COM1 COM2 EH2 M1143 D1036 MODBUS ASCII 38400 bps D1109 (COM3 RS-232/RS-485) D1120 (COM3 F232RS-232/RS-422) MODBUS ASCII/RTU EH3/SV2 115200 bps COM1 (Slave) ASCII/RTU 115200 bps ( Data bits, Parity bits, Stop bits ) EH3/SV2 ASCII/RTU 115200 bps ( Data bits, Parity bits, Stop bits ) COM2 ASCII/RTU 115200 bps ( Data bits, Parity bits, Stop bits ) COM3 EH2 (DVP-F232S / DVP-F485S ) (Slave) ASCII ( Data bits, Parity bits, Stop bits) 7,E,1 38400 bps COM2COM3 (Slave) EH3/SV2(DVP-F232 / DVP-F422 ) ASCII/RTU 115200 bps ( Data bits, Parity bits, Stop bits ) COM1 1. D1036 COM1(RS-232) (Slave) (b8~b15) 2. EH3/SV2 D1036 COM1(RS-232) (Master) (Slave) (b8~b15) 3. M1138 4. ASCII/RTU M1139 COM21. D1120 COM2(RS-485) (Master) (Slave) 2. EH2 D1120 COM2(RS-485), (DVP-F232 / DVP-F422: COM2(RS-485) ) (Master) (Slave) 3. M1120 4. ASCII/RTUM1143

台达VFD通讯示例

. . 台达VFD-B变频器串口通信中,频率设定,还有正转、反转、停止字符串是怎样写? 范例1:设定VFD-B系列变频器的频率为30.00Hz,通讯格式为9600,8,N,2,RTU 01 06 2001 0BB8 D488 范例2:设定VFD-B系列变频器正转,通讯格式为9600,8,N,2,RTU 01 06 2000 0022 0213 范例3:设定VFD-B系列变频器停止,通讯格式为9600,8,N,2,RTU 01 06 2000 0001 43CA 西门子与台达变频器通讯 ORGANIZATION_BLOCK 主程序:OB1 TITLE=实现S7-200 PLC与台达变频器通信 // 实现功能是PLC通过RS485通信控制变频器的正转启动、反转启动、停止、加速、减速和读取输出频率。变频器通过Modbus通信方式进行 // 要求台达变频器设置基本通信参数: // P00=d03(主频率由RS485控制) // P01=d03(运转/停止由RS485通信控制) // P88=d01(站点定义为1号站) // P90=d00 P91=d00 P92=d02 P113=d01 // (其他参数都是出厂默认值,可根据实际情况调节) // BEGIN Network 1 LD SM0.1

CALL SBR0 Network 2 // 正转启动命令LD M10.0 EU MOVB 16#30, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#30, VB109 MOVB 16#30, VB110 MOVB 16#30, VB111 MOVB 16#31, VB112 MOVB 16#32, VB113 CALL SBR1 Network 3 // 反转启动指令LD M10.1 EU MOVB 16#30, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#30, VB109 MOVB 16#30, VB110 MOVB 16#30, VB111 MOVB 16#32, VB112 MOVB 16#32, VB113 CALL SBR1 Network 4 // 停止指令 LD M10.2 EU

三菱PLC通信格式字

三菱PLC通信格式字 RS485标准接口通信格式,通信格式随控制设备的通信协议不同会有差异,但B0-B7位适用于所有使用RS485总线的控制设备。而b8~b15 这里没有定义,留给厂家定义。菱FX通信规定了“b11 b10 b9”为控制线选取方式,当使用通信板卡FX2N-485-BD时,这时b11 b10=11 三菱PLC FX2N是写入D8120, 台达PLC是写入D1120, 西门子S7-200是写入SMB30或SMB130, 而且仅B0~B7这8位二进制 在许多控制设备中对通信格式字有一种约定俗成的写法,其约定如下: 7 N 1 9600 _____ , ______ , _______, _______ 数据长度校验位停止位波特率 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 ______________ ___________ __________ __________ 0 C 8 0 参数为7,N,1,9600 =H0C80(所以通信格式字为H0C80)

异步传送的数据格式及常用校验码 在PLC与变频器等智能设备中,其数据信息帧结构都是HDLC信息帧设计的,一个完整的帧结构如图: 一帧数据信息的发送,是从帧头开始到帧尾结束,依次一个字符一个字符地发送,对每个字符则是从低位b0到高位b7一位一位地连续依次发送,而一个字符一个字符地发送,字符中间是可以有间隔的,了解这一点对将来写通信程序会有所帮助的。 通常把异步传送的字符数据格式和波特率一起称为异步传送通信格式 这里把由多个字符组成的数据信息帧结构称为异步传送数据格式 校验码:1·求和校验码(取其低8位或全部16位)可用CDD指令 2·LRC校验码(这是MODBUS通信协议ASCLL方式的校验方法) 将参与校验的数据(0XH)求和,取低8位的补码为校验码。 补码=求反+1 3·CRC校验码(这是MODBUS通信协议RTU方式的校验方法) 4·异或校验码(将参与校验的数据依次进行逐位异或运算最后结果为校验码) MODBUS通信协议 ASCLL通信格式: 1个起始位; 7个数据位; 1个奇偶校验位,无校验则无; 1个停止位(有校验),2个停止位(无校验)。 数据位是确定的,校验位,停止位,其通信格式可能的三种1):7,E,1 2):7,0,1和3):7,N,2

台达plc通讯格式示例

M1120M1136 M1138M1139 M1143D1036 D1109 D1120 (ES/EX/SS_V6.0SA/ SX _V1.2SC_V1.0SV_V1.0EH2_V1.0 EH3/SV2_V1.0) SA/SX/SC(COM1RS-232COM2RS-485) EH2/EH3/SV2 (COM1RS-232COM2 RS-232/RS-485/RS-422) MODBUS ASCII/RTU 115200 bps COM1 COM2 EH2 (COM3 RS-232/RS-485) MODBUS ASCII38400 bps EH3/SV2(COM3 F232RS-232/RS-422) MODBUS ASCII/RTU 115200 bps COM1 (Slave) ASCII/RTU 115200 bps( Data bits, Parity bits, Stop bits ) EH3/SV2 ASCII/RTU 115200 bps( Data bits, Parity bits, Stop bits ) COM2 ASCII/RTU 115200 bps( Data bits, Parity bits, Stop bits ) COM3 EH2 (DVP-F232S / DVP-F485S ) (Slave) ASCII ( Data bits, Parity bits, Stop bits) 7,E,1 38400 bps COM2 COM3 (Slave) EH3/SV2(DVP-F232 / DVP-F422 ) ASCII/RTU 115200 bps ( Data bits, Parity bits, Stop bits ) COM1 1. D1036 COM1(RS-232) (Slave) (b8~b15) 2. EH3/SV2 D1036 COM1(RS-232) (Master) (Slave) (b8~b15) 3. M1138 4. ASCII/RTU M1139 COM2 1. D1120 COM2(RS-485) (Master) (Slave) 2. EH2 D1120 COM2(RS-485), (DVP-F232 / DVP-F422 : COM2(RS-485) ) (Master) (Slave) 3. M1120 4. ASCII/RTU M1143 台达DVP系列PLC通讯设定示例

台达PLC串行通讯原理

简述台达PLC串行通讯应用原理 来源:三精自动化作者:三精自动化时间:07-12-28 点击: 3671 摘要:本文根据串行通讯的基本原理,以台达PLC与松下变频器通讯为案例,详细讨论台达PLC的串行通迅功能及在项 目中实际应用。主要介绍如何使用台达PLC完善的通讯功能完成各种实际应用,体现了台达PLC强大的通讯技术特性。 关键词:串行通讯 PLC RS485 MODBUS协议变频器、自由口通讯 EASY LINK 1引言 随着计算器技术的发展,通讯传输在工业自动化控制领域得到越来越广泛的应用。 由于串行通讯方式具有使用线路少、成本低、简单易用,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。现在各PLC生产厂家都极其重视通讯在PLC推广中的应用,并且各具有优势特点,合理利用PLC串行通讯功能将极大的降 低自动化项目成本,提高产品竞争力。 2 串行通讯简介 计算机通讯即是不同的设备通过线路互相交换编码数据,其主要目的在于将数据从某端传送到另一端,实现信息的交换。 通讯通常有并行和串行两种方式,由于并行传输方式在数据电压传送的过程中容易衰减互扰,并且线路工程费用较高,而 串行通讯方式则能很好的解决这些问题,因此在工业应用中绝大多数使用串行通讯。 串行通讯的基本接口方式分为RS-232和RS-485两种标准。 2.1 RS-232接口 (1) RS-232-C接口连接器一般使用型号为DB-9的9芯插头座,只需三条接口线,即“发送数据”、“接收数据”和“信号地”即可传输数据,其9支脚位的定义如下表1所示。 表1 RS-232-C接口连接器定义 (2) 在RS232的规范中,电压域值在+3V---+15V(一般使用+6V)之间称为“0”或“ON”;电压在-3V----15V(一般使用-6V)之间称为“1”或“OFF”;计算机上的RS-232“高电位”约9V,而“低电位”则约-9V。

台达PLC通信协议

DELTA DVP Series PLC MUNICATION PROTOCOL VER 1.0 DELTA ELECTRONICS, INC. 1. munication Interface: RS-232C

2.munication Protocol ASCII mode, 9600(Baud rate), EVEN(Parity), 1(Start bit),1(Stop bit) 3.munication Data Frame ?ADR(munication Address) Valid munication addresses are in the range of 0…31. munication address equals to 0 means broadcast to all PLC, the PLC will reply normal message to the master device. For example, munication to PLC with address 16 decimal: (ADR 1, ADR 0)=’1’,’0’?’1’=31H, ‘0’ = 30H ?CMD (mand code) and DATA (data characters) The format of data characters depends on the mand code. For example, reading continuous 8 words form starting device address 0614H of PLC with address 01H.

台达PLC通讯协议书范本

台达PLC通讯协议 V1.12 通讯接口RS-232C RS-485 2. 通讯协议ASCII 模式, 9600(传输速率), 偶同位, 1 个起始位, 1 个停止位 9600,7,e,1 3. 通讯资料格式 STX 起始字符‘:’(3AH) ADR 1 通讯地址: ADR 0 8-bit 地址包含了2 个ASCII 码 CMD 1 命令码: CMD 0 8-bit 命令包含了2 个ASCII 码 DATA(0)资料容: DATA(1) n个8-bit 资料包含了2n 个ASCII 码 ………. n <=74 个ASCII 码 DATA(n-1) LRC CHK 1 侦误值: LRC CHK 0 8-bit 侦误值包含了2 个ASCII 码 END 1 结束字符: END 0 END 1 = CR(0DH),END 0 = LF(0AH) ADR(通讯地址) PLC 通讯地址出厂设定值为0x01,因此(ADR 1, ADR 0)=’0’,’1’ ’0’=30H, ‘1’= 31H LRC CHK(侦误值)CMD(命令指令)及DATA(数据字符) LRC CHK(侦误值) 侦错方式采用LRC(Longitudinal Redundancy Check)侦误值。LRC 侦误值乃是将ADR1 至最后 一个资料容加总,将该值取2 补码(2’s Complement)得到之结果即为LRC 侦误值。 附录-3 例: STX ‘:’ ADR 1 ‘0’ ADR 0 ‘1’ CMD 1 ‘0’ CMD 0 ‘3’ 起始资料地址‘0’ ‘4’ ‘0’ ‘1’ 资料数‘0’ ‘0’ ‘0’ ‘1’ LRC CHK 1 ‘F’ LRC CHK 0 ‘6’ END 1 CR

相关文档
最新文档