一、相關配置
(1)PLC型號:DVP-ES2(40ES200T,24DI16DO);
(2)線纜:USBACAB230,USB TO RS232 ADAPTER FOR DVP ES;
二、基本原理說明
(1)通訊口
COM1:RS-232 通訊口,可做主站或從站。為主要的程序編輯通訊口。(SE 主機不適用);ES機型僅作為從站(Slave)使用,支持ASCII/RTU 通訊格式,支持可調整波特率,速率最高可達115200 bps,及修改數據位長度 ( Data bits, Paritybits, Stop bits )。
COM2: RS-485 通訊口,可做主站或從站;
ES2/EX2/SA2/SE COM3: RS-485 通訊口,可做主站或從站(DVP-ES2-C 機種 COM3 為CANopen通訊端口);
SX2 COM3: 為USB 轉RS232 的通訊口, 僅可做從站;
以上主機之COM1~COM3 通訊口可用于 Modbus ASCII 或RTU 模式通訊。
(2)通訊結構

通訊口的默認通訊格式(9600,7,e,1)
? Modbus ASCII 模式
? 7 個數據位
? 1 個停止位
? 偶校驗位 (EVEN)
? 9600bps 波特率
(3)COM1 端口腳位定義與圖示


(4)COM1使用到的特殊輔助繼電器(特M)及特殊數據寄存器(特D)
M1024:COM1 監(jiān)視要求;
M1138: COM1(RS-232)通訊設定保持,設定后D1036 變更無效;
M1139: SLAVE 模式時,COM1(RS-232) 的ASCII/RTU 模式選擇 (Off:ASCII 模式,On:RTU 模式)。MASTER 模式時,COM1(RS-232) 的ASCII/RTU 模式選擇 (配合MODRW 指令使用,Off:ASCII 模式,On:RTU 模式)。
M1312: COM1(RS-232)通訊指令送信要求發(fā)送標志(僅支持MODRW、RS 指令);當使用者要利用RS指令將數據傳送與接收,必須用脈沖指令將M1312設為On,若上述指令開始執(zhí)行,則PLC 執(zhí)行數據傳送接收的動作。當上述指令執(zhí)行數據傳送完畢后會自動將M1312清除(使用者設置,系統(tǒng)自動清除)。
M1313: COM1(RS-232)通訊指令接收等待中標志(僅支持MODRW、RS 指令);
M1314: COM1(RS-232)通訊指令數據接收完畢標志(僅支持MODRW、RS 指令);接收完畢,當RS指令執(zhí)行完畢后會將M1314設為On,使用者在程序中可利用M1314為On 時,處理所接收到的數據。當接收到的數據處理完畢后,必須將M1314清除為Off(系統(tǒng)自動設置,使用者清除)。
M1315: COM1(RS-232)通訊指令數據接收錯誤標志(僅支持MODRW、RS 指令);
D1036: COM1 通訊協(xié)議(出廠默認值為H86);
D1249: COM1 通訊指令通訊接收逾時設定(單位:1ms,最小值為50ms,小于50ms 以50ms 算)(僅支持MODRW/ RS 指令)RS 指令:0 表示不設定逾時時間;
D1250: COM1 通訊指令通訊接收錯誤代碼(僅支持MODRW /RS 指令)。
(5)通訊協(xié)議設置方法

??????? 在程序第一次運行時,第一次掃描時間,會偵測M1138 是否有On ,若有則會依據D1036 的設置值去更改COM1 的相關設置。梯形圖如下:

說明:
M1002:PLC 開始RUN 的第一次掃描On,之后保持為Off。該脈沖的寬度為一次掃描時間,當要作各種初始設置工作時使用本接點。當通訊格式修改完成后,將PLC 由RUN→STOP,通訊格式不會變化。當通訊格式修改完成后,PLC 電源關閉之后再上電就會回復到出廠設置的通訊格式。
16#0086:表示H86;
(6)RS串行數據傳送
參數:
S:傳送數據的起始裝置。 m:傳送數據的筆數。
D:接收數據的起始裝置。 n:接收數據的筆數。
指令說明:
》若不需要傳送數據時,可將 m 指定為K0,若不需要接收數據時,可將 n 指定為K0。
》本指令于程序中使用次數并無限制,但是同時間僅有一個指令被執(zhí)行。
三、實際應用范例
?????? 在臺達應用技術手冊以及【101例】中并沒有提及利用COM1通過RS-232進行通訊的實例。通過嘗試,利用PLC程序下載線,實現PLC與上位通訊,以下是實現此次實例的主要流程。
(1)設置通訊格式、通訊格式保持、ASCII模式、不設定逾時時間

(2)置位送信要求發(fā)送標志

?????? M30此處為初始化(或者接收數據前準備工作)結束標志,將M1312置位,等待接收數據,同時會將RS指令中要發(fā)送的數據發(fā)送出去。
(3)RS指令

??????? M0為總開關繼電器,程序一開始就會啟動RS指令,但不會發(fā)送與接收,需要M1312置位,才會執(zhí)行RS指令中數據的上傳與等待上位下發(fā)指令。上傳的數據為數據寄存器D200中的內容(數據長度為16 位,最高位為正負號,可儲存-32,768~+32,767 的數值數據)。接收到的數據會存儲在D300~D304五個數據寄存器中(若接收數據不夠,會繼續(xù)等待接收,只有將五個數據寄存器填滿才會將數據接收完畢標志M1314置位)。
關于發(fā)送的數據格式---待更新
(4)數據接收完畢標志

??????? 數據接收完畢,M1314置位為on,導通繼電器M1,執(zhí)行接收的數據指令
(5)清除數據接收完畢標志,置位送信要求發(fā)送標志

???????? M11~M16為各個工作結束標志,結束后開始計時1s。

????????? 計時結束后,復位M11~M16。復位M1,當接收到的數據處理完畢后,必須將M1314清除為Off,并且將M1312通訊指令送信要求發(fā)送標志置位,等待下一次指令的到來。