詳細(xì)介紹
西門子CPUST20通訊模塊的服務(wù)說明:
《銷售態(tài)度》:質(zhì)量保證、誠信服務(wù)、及時(shí)到位!
《銷售宗旨》:為客戶創(chuàng)造價(jià)值是我們永遠(yuǎn)追求的目標(biāo)!
《服務(wù)說明》:現(xiàn)貨配送至全國各地含稅(13%)含運(yùn)費(fèi)!
《產(chǎn)品質(zhì)量》:原裝產(chǎn)品,*!
《產(chǎn)品優(yōu)勢》:專業(yè)銷售 薄利多銷 信譽(yù)好,口碑好,價(jià)格低,貨期短,大量現(xiàn)貨,服務(wù)周到!
串口引腳定義及協(xié)議說明:
串口通訊,又經(jīng)常被稱為點(diǎn)對點(diǎn)通訊或者PtP通訊,是工業(yè)設(shè)備中的一種非常通用的通訊方式,常用于獲取相對遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。
串行通信,通常利用RS232C或者RS485電氣接口,實(shí)現(xiàn)ASCII碼或者M(jìn)odbus通訊;其特點(diǎn)是通信線路簡單,成本較低,用于解決不同廠商產(chǎn)品之間節(jié)點(diǎn)少、數(shù)據(jù)量小、通訊速率低、實(shí)時(shí)性要求不高的場合,如過程儀表、變頻器、連接掃描儀、條碼閱讀器等帶有串行通訊接口的設(shè)備,CP卡加載通訊協(xié)議后,還可以和支持Modbus協(xié)議的現(xiàn)場儀表通訊。
為了實(shí)現(xiàn)設(shè)備相互通訊,通訊雙方的通訊接口和通訊協(xié)議要*,基本的串行通訊的數(shù)據(jù)幀格式和波特率也要匹配。
西門子串行通訊支持的數(shù)據(jù)幀格式:
起始位:1位;
數(shù)據(jù)位:7/8位;
校驗(yàn)位:1位奇/偶校驗(yàn)位,或者沒有校驗(yàn)位;
停止位:1/2位。
凡是符合這些格式的串行通信設(shè)備,理論上都可以相互通信。
支持的通訊接口
西門子CPUST20通訊模塊常用的串行數(shù)據(jù)接口有:RS232C 和 RS485/422。RS-232C、RS-422/485 標(biāo)準(zhǔn)只對接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎(chǔ)上用戶可以建立自己的高層通信協(xié)議。
注意: 接口和協(xié)議是兩個(gè)概念。
RS-232C 是低速率的單端串行通訊,RS-232C 采取不平衡傳輸方式,即所謂單端通訊。
1.RS232C 通訊接口特點(diǎn):
RS-232采取不平衡傳輸方式,其收、發(fā)端的數(shù)據(jù)信號是相對于信號地,抗共模干擾能力差;
近距離通訊,大通信距離15m;
只能用于點(diǎn)對點(diǎn)(即一對收/發(fā)設(shè)備)通訊。
2. RS232C 接口定義:
RS232C并未定義連接器的物理特性,不同類型的連接器引腳定義也各不相同,其中9針和25針的引腳定義對照,如圖 1 所示。
圖1 RS232C 串口管腳定義
為簡單且常用的是三線制接法,即Txd,Rxd和地線三根,如上圖中紅色(2,3)和紫色(5)三個(gè)針腳。
RS422/485 接口
RS-422/485 改進(jìn) RS-232 通信距離短、速率低的缺點(diǎn)。
1.RS422/485接口特點(diǎn):
RS-422、RS-485與RS-232不一樣,數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸;
平衡傳輸抗干擾能力更強(qiáng),使傳輸距離更遠(yuǎn),通訊距離長1200米;
可以連接多個(gè)設(shè)備,RS422總線可支持10個(gè)節(jié)點(diǎn)(單機(jī)發(fā)送、多機(jī)接收的單向傳輸),RS485可支持32個(gè)節(jié)點(diǎn)(多點(diǎn)、雙向通訊能力);
網(wǎng)絡(luò)拓?fù)湟话悴捎媒K端匹配的總線型結(jié)構(gòu),不支持星型或樹形;
傳輸距離超過50米,需要在兩端加終端電阻330歐姆(推薦用LIYCY電纜);
2.RS422/485接口定義:
RS422/485 的端口有9針、15針,CP340/341/440/441的接口是15針,如圖 2 所示。
圖2 RS422/485 串口管腳定義
常用支持協(xié)議
常用的協(xié)議類型
ASCII 協(xié)議,又稱自由口
Modbus 協(xié)議
ASCII 協(xié)議通過通訊處理器和通訊伙伴之間的點(diǎn)對點(diǎn)連接控制數(shù)據(jù)傳輸。
由于消息的結(jié)構(gòu)*由用戶定義,用戶可以以 ASCII 協(xié)議為基礎(chǔ)開發(fā)自己的消息。在接收方只需要定義接收消息的結(jié)束方式,發(fā)送接收雙方協(xié)商*。
ASCII 驅(qū)動(dòng)程序允許發(fā)送和接收任何結(jié)構(gòu)的數(shù)據(jù)(所有可打印的 ASCII 碼表字符符以及從 00 到 FFH [帶有 8 個(gè)數(shù)據(jù)位字符幀] 的所有其它字符或從 00 到 7FH [帶有 7 個(gè)數(shù)據(jù)位字符幀]的所有其它字符)。
ASCII協(xié)議適用于與支持串行通信的智能儀表、條形碼閱讀器、掃描儀、打印機(jī)等設(shè)備進(jìn)行通訊。
MODBUS 協(xié)議
MODBUS RTU 通信協(xié)議是以主從的方式進(jìn)行數(shù)據(jù)傳輸?shù)?,主?dòng)方發(fā)送請求,被動(dòng)方響應(yīng)請求,應(yīng)答的方式。
在傳輸?shù)倪^程中主站是主動(dòng)方,即主站發(fā)送數(shù)據(jù)請求報(bào)文到從站;從站是被動(dòng)方,即如果正常從站返回正常響應(yīng)報(bào)文,如果故障從站返回異常響應(yīng)報(bào)文,如圖 3 所示。
圖3 MODBUS 請求響應(yīng)報(bào)文格式
MODBUS 系統(tǒng)中,數(shù)據(jù)交換需要通過功能代碼(Function Code)來控制的,具體分以下兩類。
有些功能碼是對位操作的,通信的用戶數(shù)據(jù)是以位為單位的:
FC01讀輸出位的狀態(tài);
FC02讀輸入位的狀態(tài);
FC05寫單個(gè)輸出位;
FC15寫多個(gè)輸出位。
有些功能碼是對16位寄存器操作的,通信的用戶數(shù)據(jù)是以字為單位的:
FC03讀輸出寄存器;
FC04讀輸入寄存器;
FC06寫單個(gè)輸出寄存器;
FC16寫多個(gè)輸出寄存器。
這些功能碼是對四個(gè)數(shù)據(jù)區(qū)位輸入、位輸出、寄存器輸入、寄存器輸出進(jìn)行訪問的,如圖 4 所示。
圖4 訪問的數(shù)據(jù)區(qū)
Modbus地址由起始的數(shù)據(jù)類型代號和地址偏移量組成。功能碼決定對Modbus地址進(jìn)行操作類型,其可根據(jù)需要傳輸?shù)臄?shù)據(jù)類型和個(gè)數(shù)來決定,如圖 5 所示。
圖5 MODBUS 地址對應(yīng)關(guān)系
注意:在傳輸消息楨中,用戶使用的地址是0為基準(zhǔn),而對應(yīng)的Modbus地址是1為基準(zhǔn),如FC16功能碼時(shí)以16進(jìn)制的0000為起始地址,對應(yīng)的寄存器是從40001開始。
MODBUS RTU 傳輸模式:消息楨中的每個(gè)8位分成2個(gè)4位16進(jìn)制的字符。
每個(gè)字符幀格式(11位),如圖 6 所示。
圖6 字符幀格式
注意:如果無奇偶校驗(yàn)位,停止位是2位。
消息幀格式,如圖 7 所示。
圖7 消息幀格式
STARTER診斷故障前提條件:在變頻器通電狀態(tài)下,您可以在線變頻器在線的狀態(tài)下,可以監(jiān)控變頻的故障和報(bào)警狀態(tài),前提是您的PG/PC上已裝有調(diào)試工具STARTER 。
診斷故障或報(bào)警步驟:
4.您還可以在starter中查看故障歷史記錄,在左側(cè)樹狀圖中選擇Diagnostics下的Alarm history。這時(shí)便可以看到當(dāng)前的故障和歷史發(fā)生過的故障。
S7-1200 全局DB中的數(shù)據(jù)類型介紹
S7-1200 全局DB中的數(shù)據(jù)類型,包括基本數(shù)據(jù)類型、系統(tǒng)數(shù)據(jù)類型和硬件數(shù)據(jù)類型。
在DB塊中,新建一個(gè)變量,在數(shù)據(jù)類型列的下拉列表中,選擇需要的數(shù)據(jù)類型。
基本數(shù)據(jù)類型
基本數(shù)據(jù)類型:包括位、位字符串、整數(shù)、浮點(diǎn)數(shù)、定時(shí)器、日期&時(shí)間、字符、數(shù)組和結(jié)構(gòu);
1.位和位字符串
2.整數(shù)數(shù)據(jù)類型
3.浮點(diǎn)型實(shí)數(shù)數(shù)據(jù)類型
如 ANSI/IEEE 754-1985 標(biāo)準(zhǔn)所述,實(shí)(或浮點(diǎn))數(shù)以 32 位單精度數(shù) (Real) 或 64 位雙精度數(shù) (LReal) 表示。 單精度浮點(diǎn)數(shù)的精度高為 6 位有效數(shù)字。
而雙精度浮點(diǎn)數(shù)的精度高為 15 位有效數(shù)字。在輸入浮點(diǎn)常數(shù)時(shí),多可以 6 位 (Real) 或 15 位 (LReal) 有效數(shù)字來保持精度。
4.時(shí)間和日期數(shù)據(jù)類型
TIME 數(shù)據(jù)作為有符號雙整數(shù)存儲,基本單位為毫秒。存儲的數(shù)值是多少,就代表有多少ms。 編輯時(shí)可以選擇性使用日期 (d)、小時(shí)(h)、分鐘 (m)、秒 (s) 和毫秒 (ms) 作為單位。
不需要全部時(shí)間單位。 例如,T#5h10s 和 500h 均有效。所有單位值的組合值不能超過以毫秒表示的時(shí)間日期類型的上限或下限(-2,147,483,648 ms 到 +2,147,483,647 ms)。
DATE 數(shù)據(jù)作為無符號整數(shù)值存儲,被解釋為添加到基礎(chǔ)日期 1990 年 1 月 1 日的天數(shù),用以獲取日期。 編輯器格式必須年、月和日。
TOD (TIME_OF_DAY) 數(shù)據(jù)作為無符號雙整數(shù)值存儲,被解釋為自日期的凌晨算起的毫秒數(shù)(凌晨 = 0 ms)。必須小時(shí)(24 小時(shí)/天)、分鐘和秒。 可以選擇小數(shù)秒格式。
DTL(日期和時(shí)間長型)數(shù)據(jù)類型使用 12 個(gè)字節(jié)的結(jié)構(gòu)保存日期和時(shí)間信息??梢栽趬K的臨時(shí)存儲器或者 DB 中定義 DTL 數(shù)據(jù)。 必須在 DB 編輯器的"起始值"(Start value) 列為所有組件輸入一個(gè)值。
DTL結(jié)構(gòu)的元素如下表:
5.字符和字符串?dāng)?shù)據(jù)類型
Char 在存儲器中占一個(gè)字節(jié),可以存儲以 ASCII 格式(包括擴(kuò)展 ASCII 字符代碼)編碼的單個(gè)字符。 WChar 在存儲器中占一個(gè)字的空間,可包含任意雙字節(jié)字符表示形式。
編輯器語法在字符的前面和后面各使用一個(gè)單引號字符。可以使用可見字符和控制字符。
CPU 支持使用 String 數(shù)據(jù)類型存儲一串單字節(jié)字符。 String 數(shù)據(jù)類型包含總字符數(shù)(字符串中的字符數(shù))和當(dāng)前字符數(shù)。 String 類型提供了多達(dá) 256 個(gè)字節(jié),用于在字符串中存儲大總字符數(shù)(1 個(gè)字節(jié))、當(dāng)前字符數(shù)(1 個(gè)字節(jié))以及多 254 個(gè)字節(jié)。 String 數(shù)據(jù)類型中的每個(gè)字節(jié)都可以是從 16#00 到16#FF 的任意值。
String 數(shù)據(jù)類型示例:
WString 數(shù)據(jù)類型支持單字(雙字節(jié))值的較長字符串。*個(gè)字包含大總字符數(shù);下一個(gè)字包含總字符數(shù),接下來的字符串可包含多達(dá) 65534 個(gè)字。 每個(gè)字都可以是從 16#0000 到 16#FFFF 的任意值。
WString 數(shù)據(jù)類型示例:
6.數(shù)組數(shù)據(jù)類型
可以創(chuàng)建包含多個(gè)相同數(shù)據(jù)類型元素的數(shù)組,請為數(shù)組命名并選擇數(shù)據(jù)類型"Array [lo .. hi] of type",然后根據(jù)如下說明編輯"lo"、"hi"和"type":
● lo - 數(shù)組的起始(低)下標(biāo)
● hi - 數(shù)組的結(jié)束(高)下標(biāo)
● type - 數(shù)據(jù)類型之一,例如 BOOL、SINT、UDINT
示例: 數(shù)組聲明
ARRAY[1..20] of REAL 一維,20 個(gè)元素
ARRAY[-5..5] of INT 一維,11 個(gè)元素
ARRAY[1..2, 3..4] of CHAR 二維,4 個(gè)元素
示例: 數(shù)組地址
ARRAY1[0] ARRAY1 元素 0
ARRAY2[1,2] ARRAY2 元素 [1,2]
ARRAY3[i,j] 如果 i =3 且 j=4,則對 ARRAY3 的元素 [3, 4] 進(jìn)行尋址
6.結(jié)構(gòu)數(shù)據(jù)類型
STRUCT 數(shù)據(jù)類型表示由固定數(shù)目的多種數(shù)據(jù)類型的元素組成的數(shù)據(jù)結(jié)構(gòu)。 數(shù)據(jù)類型 STRUCT 或 ARRAY 的元素還可以在結(jié)構(gòu)中嵌套。 嵌套深度限制為 8 級。 結(jié)構(gòu)可用于根據(jù)過程控制系統(tǒng)分組數(shù)據(jù)以及作為一個(gè)數(shù)據(jù)單元來傳送參數(shù)。
對于 S7-1200 或 S7-1500 系列 CPU,可多創(chuàng)建 65534 個(gè)結(jié)構(gòu)。 其中每個(gè)結(jié)構(gòu)可多包括 252 個(gè)元素。
下圖為數(shù)據(jù)類型 STRUCT 的示例:
結(jié)構(gòu)所在的DB塊名為“結(jié)構(gòu)示例",則可以使用 "結(jié)構(gòu)示例".產(chǎn)品規(guī)格.長度 訪問結(jié)構(gòu)的*個(gè)元素長度。
系統(tǒng)數(shù)據(jù)類型
系統(tǒng)數(shù)據(jù)類型:系統(tǒng)數(shù)據(jù)類型 (SDT) 由系統(tǒng)提供并具有預(yù)定義的結(jié)構(gòu)。 系統(tǒng)數(shù)據(jù)類型的結(jié)構(gòu)由固定數(shù)目的可具有各種數(shù)據(jù)類型的元素構(gòu)成。 不能更改系統(tǒng)數(shù)據(jù)類型的結(jié)構(gòu)。
系統(tǒng)數(shù)據(jù)類型只能用于特定指令。 下表給出了可用的系統(tǒng)數(shù)據(jù)類型及其用途:
統(tǒng)數(shù)據(jù)類型 | 長度(字節(jié)) | 說明 |
---|---|---|
IEC_TIMER | 16 | 定時(shí)值為 TIME 數(shù)據(jù)類型的定時(shí)器結(jié)構(gòu)。 例如,此數(shù)據(jù)類型可用于“TP"、“TOF"、“TON"、“TONR"、“RT"和“PT"指令。 |
IEC_SCOUNTER | 3 | 計(jì)數(shù)值為 SINT 數(shù)據(jù)類型的計(jì)數(shù)器結(jié)構(gòu)。 例如,此數(shù)據(jù)類型用于“CTU"、“CTD"和“CTUD"指令。 |
IEC_USCOUNTER | 3 | 計(jì)數(shù)值為 USINT 數(shù)據(jù)類型的計(jì)數(shù)器結(jié)構(gòu)。 例如,此數(shù)據(jù)類型用于“CTU"、“CTD"和“CTUD"指令。 |
IEC_COUNTER | 6 | 計(jì)數(shù)值為 INT 數(shù)據(jù)類型的計(jì)數(shù)器結(jié)構(gòu)。 例如,此數(shù)據(jù)類型用于“CTU"、“CTD"和“CTUD"指令。 |
IEC_UCOUNTER | 6 | 計(jì)數(shù)值為 UINT 數(shù)據(jù)類型的計(jì)數(shù)器結(jié)構(gòu)。 例如,此數(shù)據(jù)類型用于“CTU"、“CTD"和“CTUD"指令。 |
IEC_DCOUNTER | 12 | 計(jì)數(shù)值為 DINT 數(shù)據(jù)類型的計(jì)數(shù)器結(jié)構(gòu)。 例如,此數(shù)據(jù)類型用于“CTU"、“CTD"和“CTUD"指令。 |
IEC_UDCOUNTER | 12 | 計(jì)數(shù)值為 UDINT 數(shù)據(jù)類型的計(jì)數(shù)器結(jié)構(gòu)。 例如,此數(shù)據(jù)類型用于“CTU"、“CTD"和“CTUD"指令。 |
ERROR_STRUCT | 28 | 編程錯(cuò)誤信息或 I/O 訪問錯(cuò)誤信息的結(jié)構(gòu)。 例如,此數(shù)據(jù)類型用于“GET_ERROR"指令。 |
CREF | 8 | 數(shù)據(jù)類型 ERROR_STRUCT 的組成,在其中保存有關(guān)塊地址的信息。 |
NREF | 8 | 數(shù)據(jù)類型 ERROR_STRUCT 的組成,在其中保存有關(guān)操作數(shù)的信息。 |
硬件數(shù)據(jù)類型
硬件數(shù)據(jù)類型:硬件數(shù)據(jù)類型由 CPU 提供。 可用硬件數(shù)據(jù)類型的數(shù)目取決于 CPU。
根據(jù)硬件配置中設(shè)置的模塊存儲特定硬件數(shù)據(jù)類型的常量。 在用戶程序中插入用于控制或激活已組態(tài)模塊的指令時(shí),可將這些可用常量用作參數(shù)。
HW_ANY | WORD | 任何硬件組件(如模塊)的標(biāo)識。 |
HW_DEVICE | HW_ANY | DP 從站/PROFINET IO 設(shè)備的標(biāo)識 |
HW_DPSLAVE | HW_DEVICE | DP 從站的標(biāo)識 |
HW_IO | HW_ANY | CPU 或接口的標(biāo)識號 該編號在 CPU 或硬件配置接口的屬性中自動(dòng)分配和存儲。 |
HW_IOSYSTEM | HW_ANY | PN/IO 系統(tǒng)或 DP 主站系統(tǒng)的標(biāo)識 |
HW_SUBMODULE | HW_IO | 重要硬件組件的標(biāo)識 |
HW_INTERFACE | HW_SUBMODULE | 接口組件的標(biāo)識 |
HW_IEPORT | HW_SUBMODULE | 端口的標(biāo)識 (PN/IO) |
HW_HSC | HW_SUBMODULE | 高速計(jì)數(shù)器的標(biāo)識 此數(shù)據(jù)類型用于“CTRL_HSC"和“CTRL_HSC_EXT"指令。 |
HW_PWM | HW_SUBMODULE | 脈沖寬度調(diào)制標(biāo)識 例如,此數(shù)據(jù)類型用于“CTRL_PWM"指令。 |
HW_PTO | HW_SUBMODULE | 脈沖編碼器標(biāo)識 該數(shù)據(jù)類型用于運(yùn)動(dòng)控制。 |
AOM_IDENT | DWORD | AS 運(yùn)行系統(tǒng)中對象的標(biāo)識 |
EVENT_ANY | AOM_IDENT | 用于標(biāo)識任意事件 |
EVENT_ATT | EVENT_ANY | 用于動(dòng)態(tài)分配給 OB 的事件。 例如,此數(shù)據(jù)類型用于“ATTACH"和“DETACH"指令。 |
EVENT_HWINT | EVENT_ATT | 用于硬件中斷事件 |
OB_ANY | INT | 用于任意組織塊。 |
OB_DELAY | OB_ANY | 用于發(fā)生延時(shí)中斷時(shí)調(diào)用的組織塊。 例如,此數(shù)據(jù)類型用于“SRT_DINT"和“CAN_DINT"指令。 |
OB_TOD | OB_ANY | 時(shí)間中斷 OB 的數(shù)量。 例如,此數(shù)據(jù)類型用于“SET_TINT"、“CAN_TINT"、“ACT_TINT"和“QRY_TINT"指令。 |
OB_CYCLIC | OB_ANY | 用于發(fā)生看門狗中斷時(shí)調(diào)用的組織塊。 |
OB_ATT | OB_ANY | 用于動(dòng)態(tài)分配給事件的組織塊。 例如,此數(shù)據(jù)類型用于“ATTACH"和“DETACH"指令。 |
OB_PCYCLE | OB_ANY | 用于分配給“循環(huán)程序"事件類別事件的組織塊。 |
OB_HWINT | OB_ATT | 用于發(fā)生硬件中斷時(shí)調(diào)用的組織塊。 |
OB_DIAG | OB_ANY | 用于發(fā)生診斷中斷時(shí)調(diào)用的組織塊。 |
OB_TIMEERROR | OB_ANY | 用于發(fā)生時(shí)間錯(cuò)誤時(shí)調(diào)用的組織塊。 |
OB_STARTUP | OB_ANY | 用于發(fā)生啟動(dòng)事件時(shí)調(diào)用的組織塊。 |
PORT | HW_SUBMODULE | 用于通信端口。 該數(shù)據(jù)類型用于點(diǎn)對點(diǎn)通信。 |
RTM | UINT | 用于運(yùn)行小時(shí)計(jì)數(shù)器值。 例如,此數(shù)據(jù)類型用于“RTM"指令。 |
PIP | UINT | 用于創(chuàng)建和連接“同步循環(huán)"OB。此數(shù)據(jù)類型用于 SFC 26、27、126 和 127。 |
CONN_ANY | WORD | 用于任意連接。 |
CONN_PRG | CONN_ANY | 用于通過 UDP 進(jìn)行開放式通信的連接。 |
CONN_OUC | CONN_ANY | 用于通過工業(yè)以太網(wǎng) (PROFINET) 進(jìn)行開放式通信的連接。 |
DB_ANY | UINT | 任意 DB 的標(biāo)識(數(shù)量) 數(shù)據(jù)類型“DB_ANY"在“Temp"區(qū)域中的長度為 0。 |
DB_WWW | DB_ANY | 通過 Web 應(yīng)用生成的 DB 的數(shù)量(例如,“WWW"指令) 數(shù)據(jù)類型“DB_WWW"在“Temp"區(qū)域中的長度為 0。 |