西門(mén)子: | 授權(quán)代理 |
單價(jià): | 面議 |
發(fā)貨期限: | 自買(mǎi)家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 |
有效期至: | 長(zhǎng)期有效 |
發(fā)布時(shí)間: | 2023-12-14 16:41 |
最后更新: | 2023-12-14 16:41 |
瀏覽次數(shù): | 198 |
采購(gòu)咨詢(xún): |
請(qǐng)賣(mài)家聯(lián)系我
|
西門(mén)子銷(xiāo)售低壓斷路器經(jīng)銷(xiāo)商
PLC是什么意思?相信很多人處于大概知道是什么,又無(wú)法準(zhǔn)確說(shuō)出的階段,作為專(zhuān)注于為企業(yè)提供數(shù)據(jù)采集和設(shè)備控制解決方案的眾誠(chéng)工業(yè),今天和大家探討一下。
而眾誠(chéng)工業(yè)還能根據(jù)用戶(hù)需求,設(shè)計(jì)PLC控制程序,為客戶(hù)提供PLC編程和上位機(jī)軟件的定制化開(kāi)發(fā)技術(shù)服務(wù),滿(mǎn)足用戶(hù)的多種需求,比如,自主研發(fā)的潔凈空調(diào)智能控制系統(tǒng)和通風(fēng)排風(fēng)智能控制系統(tǒng)就配置PLC,不僅具有報(bào)警和定時(shí)控制功能,還兼具可擴(kuò)展性和兼容性,系統(tǒng)能被第三方系統(tǒng)集成。
以上PLC的基本介紹,相信大家對(duì)PLC也有一個(gè)初步的了解。PLC的型號(hào)、品牌不同,對(duì)應(yīng)著其結(jié)構(gòu)形式、性能、編程方式等等都有所差異,價(jià)格也各不相同,在挑選時(shí)候,建議先要明確自己的應(yīng)用需求,比如具體的應(yīng)用場(chǎng)景,希望實(shí)現(xiàn)的運(yùn)動(dòng)和控制功能,已經(jīng)特殊的控制要求,這些將決定了PLC的選型和搭配組合。
簡(jiǎn)單地說(shuō),PLC就是一種小型的計(jì)算機(jī),和我們常用的計(jì)算機(jī)不同的是,PLC是設(shè)備之間通過(guò)數(shù)字信號(hào)進(jìn)行互動(dòng),而我們常用的計(jì)算機(jī),是人和計(jì)算機(jī)的互動(dòng)。
控制是PLC的核心功能,其控制類(lèi)型主要分為以下幾種1、開(kāi)關(guān)量的開(kāi)環(huán)控制。這是PLC*基本的控制功能,它能憑借其強(qiáng)大的邏輯運(yùn)算能力,取代傳統(tǒng)繼電接觸器的控制系統(tǒng);
2、數(shù)據(jù)采集與監(jiān)控。這是PLC非常必要的功能,否則它將無(wú)法完成現(xiàn)場(chǎng)控制;
3、數(shù)字量智能控制。PLC具有實(shí)現(xiàn)接收和輸出高速脈沖的功能,近年來(lái)先進(jìn)的PLC還開(kāi)發(fā)了數(shù)字控制模塊和新型運(yùn)動(dòng)單元模塊,讓工程師更加輕松地通過(guò)PLC實(shí)現(xiàn)數(shù)字量控制;
4、PLC能通過(guò)模擬量采集和調(diào)節(jié)溫度、壓力、速度等參數(shù)。
正因?yàn)镻LC功能強(qiáng)大,且具有設(shè)計(jì)方便、重量體積小、能耗低、改造工作量小、通用性強(qiáng)、維護(hù)方便等易學(xué)易用的特點(diǎn),深受工程師的歡迎,應(yīng)用非常廣泛,鋼鐵、石油、化工、紡織、交通、機(jī)械制造等等行業(yè)都能看到它的身影。
說(shuō)明
發(fā)送或接收數(shù)據(jù)時(shí)發(fā)生通信錯(cuò)誤
如果發(fā)送或接收數(shù)據(jù)時(shí)發(fā)生通信錯(cuò)誤,則 CPU 將終止現(xiàn)有連接。錯(cuò)誤如下:
? 80C4 - 臨時(shí)通信錯(cuò)誤;將暫時(shí)終止指定的連接。
? 80C5 - 遠(yuǎn)程伙伴已主動(dòng)終止了連接。
? 80A1 - 指定連接已斷開(kāi)或尚未建立。
即,可查看連接終止時(shí)所有返回的 STATUS 值,以及連接中止時(shí)僅輸出造成連接終止原因的
STATUS 代碼。
示例:如果接收數(shù)據(jù)時(shí)發(fā)生臨時(shí)通信錯(cuò)誤,則先輸出 STATUS 7003 (ERROR=false),再
輸出 80C4 (ERROR=true)。
MB_RED_SERVER(作為 Modbus TCP 服務(wù)器通過(guò) PROFINET 進(jìn)行通信)
使用該指令可在 S7-1200 CPU 與支持 Modbus TCP 協(xié)議的設(shè)備之間建立連接。
表格 13-73 MB_RED_SERVER 指令
LAD/FBD SCL 描述
"MB_RED_SERVER_DB"(
DISCONNECT:=_bool_in_,
LICENSED=>_bool_out_
IDENT_CODE=>_string_out_
DR_NDR_0A=>_bool_out,
ERROR_0A=>_bool_out,
STATUS_0A=>_word_out_,
DR_NDR_1A=>_bool_out,
ERROR_1A=>_bool_out,
STATUS_1A=>_word_out_,
DR_NDR_0B=>_bool_out,
ERROR_0B=>_bool_out,
STATUS_0B=>_word_out_,
DR_NDR_1B=>_bool_out,
ERROR_1B=>_bool_out,
STATUS_1B=>_word_out_,
RED_ERR_S7=>_bool_out_,
RED_ERR_DEV=>_bool_out_,
TOT_COM_ERR=>_bool_out_,
MB_HOLD_REG:=_variant_inout_);
MB_RED_SERVER 指令作為
Modbus TCP 服務(wù)器通過(guò)
PROFINET 連接進(jìn)行通信。
MB_RED_SERVER 指令將處理
Modbus TCP 客戶(hù)端的連接請(qǐng)求、
接收并處理 Modbus 請(qǐng)求并發(fā)描述
REG_KEY 1
IN STRING[17
]
授權(quán)注冊(cè)碼
必須在每個(gè) CPU 上分別對(duì) MB_RED_SERVER 指令進(jìn)行授權(quán)。
DISConNECT IN Bool 使用 MB_RED_SERVER 指令建立與一個(gè)伙伴模塊的被動(dòng)連接。服
務(wù)器會(huì)對(duì)連接描述中給出的指定或未指定 IP 地址的連接請(qǐng)求作出
響應(yīng)。
接受一個(gè)連接請(qǐng)求后,可以使用該參數(shù)進(jìn)行控制:
? 0:CPU 在無(wú)通信連接時(shí)建立被動(dòng)連接。
? 1:終止連接初始化。如果設(shè)置了輸入,則 CPU 不會(huì)處理其它
客戶(hù)端請(qǐng)求,并且啟動(dòng)終止連接。成功終止連接后,
STATUS_x 參數(shù)將輸出值 0003。
MB_HOLD_REG 2
IN_OUT Variant 指向 MB_RED_SERVER 指令中 Modbus 保持性寄存器的指針
MB_HOLD_REG 引用的存儲(chǔ)區(qū)必須大于兩個(gè)字節(jié)。
保持性寄存器中包含 Modbus 客戶(hù)端通過(guò) Modbus 功能 3(讀
取)、6(寫(xiě)入)、16(多次寫(xiě)入)和 23(在一個(gè)作業(yè)中讀寫(xiě))
可訪(fǎng)問(wèn)的值。
LICENSED 1 OUT Bool ? 0:指令未獲授權(quán)
? 1:指令已獲授權(quán)
IDENT_CODE 1 OUT STRING[18
]
授權(quán)標(biāo)識(shí)。使用此字符串申請(qǐng) REG_KEY 注冊(cè)碼。.
DR_NDR_0A OUT Bool “Data Read”或“New Data Ready”至連接 0A:
? 0:無(wú)新數(shù)據(jù)
? 1:Modbus 客戶(hù)端讀取或?qū)懭氲男聰?shù)據(jù)
ERROR_0A OUT Bool 如果在調(diào)用 MB_RED_SERVER 指令到連接 0A 的過(guò)程中出錯(cuò),則將
ERROR_0A 參數(shù)的輸出設(shè)置為“1”。有關(guān)錯(cuò)誤原因的詳細(xì)信息,將
由 STATUS_0A 參數(shù)指定。
STATUS_0A 3 OUT Word 連接 0A 上指令的詳細(xì)狀態(tài)信息。
DR_NDR_1A OUT Bool “Data Read”或“New Data Ready”至連接 1A:
? 0:無(wú)新數(shù)據(jù)
? 1:Modbus 客戶(hù)端讀取或?qū)懭氲男聰?shù)據(jù)
ERROR_1A OUT Bool 如果在調(diào)用 MB_RED_SERVER 指令到連接 1A 的過(guò)程中出錯(cuò),則將
ERROR_1A 參數(shù)的輸出設(shè)置為“1”。有關(guān)錯(cuò)誤原因的詳細(xì)信息,將
由 STATUS_1A 參數(shù)指定。
STATUS_1A 3 OUT Word 連接 1A 上指令的詳細(xì)狀態(tài)信息。描述
DR_NDR_0B OUT Bool “Data Read”或“New Data Ready”至連接 0B:
? 0:無(wú)新數(shù)據(jù)
? 1:Modbus 客戶(hù)端讀取或?qū)懭氲男聰?shù)據(jù)
ERROR_0B OUT Bool 如果在調(diào)用 MB_RED_SERVER 指令到連接 0B 的過(guò)程中出錯(cuò),則將
ERROR_0B 參數(shù)的輸出設(shè)置為“1”。有關(guān)錯(cuò)誤原因的詳細(xì)信息,將
由 STATUS_0B 參數(shù)指定。
STATUS_0B 3 OUT Word 連接 0B 上指令的詳細(xì)狀態(tài)信息。
DR_NDR_1B OUT Bool “Data Read”或“New Data Ready”至連接 1B:
? 0:無(wú)新數(shù)據(jù)
? 1:Modbus 客戶(hù)端讀取或?qū)懭氲男聰?shù)據(jù)
ERROR_1B OUT Bool 如果在調(diào)用 MB_RED_SERVER 指令到連接 1B 的過(guò)程中出錯(cuò),則將
ERROR_1B 參數(shù)的輸出設(shè)置為“1”。有關(guān)錯(cuò)誤原因的詳細(xì)信息,將
由 STATUS_1B 參數(shù)指定。
STATUS_1B 3 OUT Word 連接 1B 上指令的詳細(xì)狀態(tài)信息。
RED_ERR_S7 3 OUT Bool ? 0:SIMATIC 中無(wú)冗余錯(cuò)誤
? 1:SIMATIC 中存在冗余錯(cuò)誤
RED_ERR_S7 3 OUT Bool ? 0:鏈接伙伴側(cè)無(wú)冗余錯(cuò)誤
? 1:鏈接伙伴側(cè)存在冗余錯(cuò)誤
RED_ERR_S7 3 OUT Bool ? 0:至少已建立 1 個(gè)組態(tài)連接
? 1:完全丟失通信,所有組態(tài)連接均終止
1 有關(guān)詳細(xì)信息,參見(jiàn)下文中“授權(quán)”部分。
2 有關(guān)詳細(xì)信息,參見(jiàn)下文中“MB_HOLD_REG 輸入?yún)?shù)”部分。
3 有關(guān)詳細(xì)信息,參見(jiàn)下文中“輸出參數(shù):ERROR_x、RED_ERR_S7、RED_ERR_DEV 和 TOT_COM_ERR”部分。
說(shuō)明
安全信息
請(qǐng)注意,網(wǎng)絡(luò)中的每個(gè)客戶(hù)端對(duì)過(guò)程映像輸入和輸出以及 Modbus 保持寄存器定義的數(shù)據(jù)塊
或位存儲(chǔ)區(qū)域都具有讀寫(xiě)訪(fǎng)問(wèn)權(quán)限。可以選擇限制對(duì)某個(gè) IP 地址的訪(fǎng)問(wèn),從而阻止未經(jīng)授
權(quán)的讀寫(xiě)操作。但請(qǐng)注意,共享地址也可用于未經(jīng)授權(quán)的訪(fǎng)問(wèn)CPU 可以用于:
? 處理多個(gè)服務(wù)器連接
? 在同一個(gè)服務(wù)器端口接受多個(gè)來(lái)自不同的客戶(hù)端的多個(gè)連接
連接的*大數(shù)目取決于所使用的 CPU,具體請(qǐng)參見(jiàn)相關(guān) CPU 的技術(shù)規(guī)范。一個(gè) CPU 的總連
接數(shù),包括 Modbus TCP 客戶(hù)端和服務(wù)器的連接數(shù),不能超過(guò)所支持的*大連接數(shù)。
連接服務(wù)器時(shí),請(qǐng)記住以下規(guī)則:
? 每個(gè) MB_RED_SERVER 連接都必須使用唯一的背景數(shù)據(jù)塊。
? 要連接到服務(wù)器端口的每個(gè)客戶(hù)端都需要一個(gè)唯一的連接/連接 ID。
? 連接 ID 在整個(gè) CPU 范圍內(nèi)必須唯一。
Modbus 地址到過(guò)程映像的映射
MB_RED_SERVER 指令允許到達(dá)的 Modbus 功能(1、2、4、5 和 15)直接讀取和寫(xiě)入訪(fǎng)問(wèn)
CPU 的過(guò)程映像輸入和輸出(使用數(shù)據(jù)類(lèi)型 BOOL 和 WORD)。
對(duì)于 S7-1200-CPU,輸入和輸出過(guò)程映像的地址空間為 1 KB。
下表列出了上述 Modbus 功能的地址空間:
Modbus 功能
功能代碼 功能 數(shù)據(jù)區(qū) 地址空間
01 讀取:位 Output 0 到 65.535
02 讀取:位 Input 0 到 65.535
04 讀取:WORD Input 0 到 65.535
05 寫(xiě)入:位 Output 0 到 65.535
15 寫(xiě)入:位 Output 0 到 65.535
通過(guò)功能代碼 3、6、16 和 23 將到達(dá)的 Modbus 請(qǐng)求寫(xiě)入 Modbus 保持性寄存器或從寄存
器中讀取(可通過(guò) MB_HOLD_REG 參數(shù)或 Data_Area_Array 指定保持性寄存器)寫(xiě)入輸出位
06 寫(xiě)入保持性寄存器
08 診斷功能:
? 回送測(cè)試(子功能 0x0000):MB_RED_SERVER 指令接收數(shù)據(jù)字并按
原樣返回 Modbus 客戶(hù)端。
? 復(fù)位事件計(jì)數(shù)器(子功能 0x000A):使用指令 MB_RED_SERVER,可
復(fù)位以下事件計(jì)數(shù)器:“Success_Count”、“Xmt_Rcv_Count”、
“Exception_Count”、“Server_Message_Count”和“Re”。
11 診斷功能:獲取通信的事件計(jì)數(shù)器
MB_RED_SERVER 指令使用一個(gè)通信的內(nèi)部事件計(jì)數(shù)器,記錄發(fā)送到
Modbus 服務(wù)器上成功執(zhí)行的讀寫(xiě)請(qǐng)求數(shù)。
執(zhí)行功能 8 或 11 時(shí),事件計(jì)數(shù)器不會(huì)遞增。這種情況同樣適用于會(huì)導(dǎo)致
通信錯(cuò)誤的請(qǐng)求。例如,發(fā)生協(xié)議錯(cuò)誤(如,不支持所接收 Modbus 請(qǐng)求
中的功能代碼)。
15 寫(xiě)入多個(gè)輸出位
16 寫(xiě)入保持性寄存器
23 通過(guò)請(qǐng)求寫(xiě)入和讀取保持性寄存通信節(jié)點(diǎn)可設(shè)計(jì)為獨(dú)立式或者冗余式。如果其中一個(gè)伙伴采用獨(dú)立式設(shè)計(jì),則將其稱(chēng)為單側(cè)
冗余。如果兩個(gè)伙伴均為冗余式設(shè)計(jì),可將其稱(chēng)為雙側(cè)冗余。
? 單側(cè)冗余:
– 必須為通信伙伴之間的每個(gè)連接組態(tài)一個(gè)連接。SIMATIC S7 的連接點(diǎn)稱(chēng)為 0 和 1;通
信伙伴的連接點(diǎn)稱(chēng)為 A 和 B。
R-CPU 或 H-CPU 1 是指連接點(diǎn) 0,R-CPU 或 H-CPU 2 為連接點(diǎn) 1。
– 組態(tài):如果 S7 采用冗余設(shè)計(jì),則為 S7 連接點(diǎn) 0 到鏈接伙伴的節(jié)點(diǎn) A 創(chuàng)建一個(gè)連接
(從 S7 連接點(diǎn) 0 到伙伴/節(jié)點(diǎn) A 的連接 => 連接 0A),一個(gè)從 S7 連接點(diǎn) 1 到鏈接伙伴
的節(jié)點(diǎn) A 的連接(從 S7 連接點(diǎn) 1 到伙伴/節(jié)點(diǎn) A 的連接 => 連接 1A)。下圖給
客戶(hù)端和服務(wù)器的端口號(hào)
Modbus 客戶(hù)端使用的端口號(hào)從 2000 開(kāi)始。通常通過(guò)端口號(hào) 502 對(duì) Modbus 服務(wù)器進(jìn)行尋
址。可以為多個(gè)連接組態(tài)端口 502(多端口),具體取決于 CPU。如果為本地端口 502 組
態(tài)至少兩個(gè)連接,則在未指定連接的情況下,將發(fā)出請(qǐng)求的客戶(hù)端隨機(jī)分配給現(xiàn)有的服務(wù)器
連接。不會(huì)自動(dòng)將想要連接到 "MB_RED_SERVER" 指令的第一個(gè)客戶(hù)端分配給連接 0A。將客
戶(hù)端請(qǐng)求分配給服務(wù)器連接后,在連接終止前,分配在交換幀期間保持不變。
參數(shù)分配
對(duì)于 S7-1200,可以使用 MB_RED_SERVER 指令 V1.0 和 V1.1。CPU 通過(guò) CPU 或 CM/CP 的
本地接口建立連接。CPU 使用 TCON_IP_V4 結(jié)構(gòu)組態(tài)和建立連接。
MB_RED_SERVER 的組態(tài): 使用 MB_RED_SERVER 指令的組態(tài)對(duì)話(huà)框進(jìn)行以下設(shè)置:
? 連接 0A、1A、0B 和 1B 的連接參數(shù)(有關(guān)冗余組態(tài)的更多信息,請(qǐng)參見(jiàn)上文的“運(yùn)行和
冗余”。)
? 內(nèi)部參數(shù)(可選)
通過(guò) MB_RED_SERVER 指令或通過(guò)工藝對(duì)象,可以打開(kāi)組態(tài)對(duì)話(huà)框Modbus 主站可寫(xiě)入輸出的尋址范圍的起始地
址(0 到 65535 個(gè)字節(jié))
UINT 0 Modbus 主站可寫(xiě)入的輸出字節(jié)數(shù)。
示例:
? =0 和 =10:Modbus 主
站可寫(xiě)入的輸出字節(jié)數(shù)為 0 到 9。
? =0:Modbus 主站無(wú)法寫(xiě)入任何
輸出字節(jié)。
UINT 0 Modbus 主站可讀取輸出的尋址范圍的起始地
址(0 到 65535 個(gè)字節(jié))
UINT 0 Modbus 主站可讀取的輸出字節(jié)數(shù)。
示例:
? =0 和
=10:Modbus 主站可讀取
的輸出字節(jié)數(shù)為 0 to 9。
? =0:Modbus 主站無(wú)法讀
取任何輸出字節(jié)。
IB_Read_Start UINT 0 Modbus 主站可讀取輸入的尋址范圍的起始地
址(0 到 65535 個(gè)字節(jié))a_type 參數(shù)指定 Modbus 主站在該數(shù)據(jù)塊中映射的 MODBUS 數(shù)據(jù)類(lèi)型。如果在 data_type
中輸入值“0”,則 Modbus 主站不使用相應(yīng)的數(shù)據(jù)區(qū)域。如果 Modbus 主站要使用多個(gè)
Data_Area,則必須依次定義這些區(qū)域。Modbus 主站將不會(huì)處理 data_type = 0 之后的任何
條目。
標(biāo)識(shí)符 數(shù)據(jù)類(lèi)型 描述
0 未使用區(qū)域
1 輸出位(線(xiàn)圈) 位
2 輸入位(輸入) 位
3 保持性寄存器 字
4 輸入字(輸入寄存器) 字
db
db 參數(shù)指定映射 MODBUS 寄存器或下面定義的位值的數(shù)據(jù)塊。數(shù)據(jù)塊編號(hào) 0 為系統(tǒng)保留,
CPU 不允許使用。
start, length
start 指定 Modbus 主站在數(shù)據(jù)塊的數(shù)據(jù)字 0 中映射的第一個(gè) Modbus 地址。length 參數(shù)定
義了 Modbus 主站在數(shù)據(jù)塊中映射的 MODBUS 地址的數(shù)量和長(zhǎng)度。定義的數(shù)據(jù)區(qū)不得重疊。
length 參數(shù)不得等于 0。
示例:使用 Data_Area_Array 映射地址。
數(shù)據(jù)區(qū) 1 data_type 3:保持性寄存器
db 11
起始 0
長(zhǎng)度 500
數(shù)據(jù)區(qū) 2 data_type 3:保持性寄存器
必須在每個(gè) CPU 上分別對(duì) MB_RED_SERVER 指令進(jìn)行授權(quán),且該指令需要付費(fèi)。授權(quán)分為兩
個(gè)步驟:
? 顯示許可證 IDENT_CODE
? 輸入 REG_KEY 注冊(cè)密鑰:必須在每個(gè) MB_RED_SERVER 指令中分配 REG_KEY 注冊(cè)密鑰。
將 REG_KEY 保存在共享數(shù)據(jù)塊中,所有 MB_RED_SERVER 指令均可通過(guò)該數(shù)據(jù)塊接收所
需的注冊(cè)密鑰。
顯示許可證 IDENT_CODE 的程序:
1. 根據(jù)循環(huán) OB 中的要求,為 MB_RED_SERVER 指令分配參數(shù)。將程序下載到 CPU,并將 CPU 設(shè)
置為 RUN。
2. 打開(kāi) Modbus 指令的背景數(shù)據(jù)塊,單擊“監(jiān)視全部”(Monitor all) 按鈕。
3. 背景數(shù)據(jù)塊將在 IDENT_CODE 輸出中顯示一個(gè) 18 位的字符串。輸入注冊(cè)密鑰 REG_KEY 的程序:
1. 通過(guò)“添加新塊...”(Add new block…) 插入具有唯一符號(hào)名的全新共享數(shù)據(jù)塊,例如
“License_DB”。
2. 在該塊中創(chuàng)建數(shù)據(jù)類(lèi)型為 STRING[17] 的 REG_KEY 參數(shù)。
圖 13-25 REG_KEY
3. 使用復(fù)制/粘帖將已發(fā)送的 17 位注冊(cè)密鑰復(fù)制到“起始值”(Start value) 列。
4. 在循環(huán) OB 中,在 MB_RED_SERVER 指令的 REG_KEY 參數(shù)中,輸入許可證數(shù)據(jù)塊的名稱(chēng)和字
符串名稱(chēng)(例如 License_DB.REG_KEY)。
5. 將修改后的塊下載到 CPU。可以在運(yùn)行時(shí)間輸入注冊(cè)密鑰;不需要從 STOP 更改 RUN。
6. 現(xiàn)在,該 CPU 已獲得使用 MB_RED_SERVER 指令進(jìn)行 Modbus/TCP 通信的授權(quán);LICENSED 輸
出位為 TRUE。
授權(quán)缺失或不正確的糾正程序:
? 如果輸入的注冊(cè)密鑰錯(cuò)誤或未輸入注冊(cè)密鑰,則 CPU 的 ERROR LED 指示燈閃爍。S7-1200 CPU 會(huì)在診斷緩沖區(qū)中生成有關(guān)許可證缺失的循環(huán)條目。
REG 輸入?yún)?shù)
MB_HOLD_REG 參數(shù)是一個(gè)指向數(shù)據(jù)緩沖區(qū)的指針,該緩沖區(qū)用于存儲(chǔ) Modbus 客戶(hù)端對(duì)其
具有讀寫(xiě)訪(fǎng)問(wèn)權(quán)限的數(shù)據(jù)。可使用全局?jǐn)?shù)據(jù)塊 (D) 或位存儲(chǔ)器 (M) 作為存儲(chǔ)區(qū):
? 數(shù)據(jù)塊 (D) 中地址的*大數(shù)量取決于 CPU 的*大數(shù)據(jù)塊大小。
? 位存儲(chǔ)器 (M) 中地址的*大數(shù)量取決于 CPU 的*大位存儲(chǔ)區(qū)。
下圖說(shuō)明了針對(duì) Modbus 功能 3(讀取多個(gè) WORD)、6(寫(xiě)入一個(gè) WORD)、16(寫(xiě)入多
個(gè) WORD)和 23(讀寫(xiě)多個(gè) WORD)將 Modbus 地址映射到保持性寄存器的情況。數(shù) ERROR_x、STATUS_x、RED_ERR_S7、RED_ERR_DEV 和 TOT_COM_ERR
CPU 將錯(cuò)誤消息顯示在 MB_RED_SERVER 指令的狀態(tài)輸出中:
說(shuō)明
在程序編輯器中,錯(cuò)誤狀態(tài)代碼可顯示為整數(shù)或十六進(jìn)制值:
1. 在程序編輯器中打開(kāi)所需的塊。
2. 單擊“啟用/禁用監(jiān)視”(Monitor on/off) 切換程序狀態(tài)的顯示格式。(如果尚未建立在線(xiàn)連接,
則打開(kāi)“轉(zhuǎn)至在線(xiàn)”(Go online) 對(duì)話(huà)框。在此對(duì)話(huà)框中,可以建立在線(xiàn)連接。)
3. 選擇待監(jiān)視的變量,在快捷菜單的“顯示格式”(Display format) 中,選擇所需的顯示格式。
STATUS_x 參數(shù)(常規(guī)狀態(tài)信息)
STATUS
(W#16#
)
描述
0000 指令已執(zhí)行,且無(wú)任何錯(cuò)誤。
0001 連接已建立。
0003 連接已終止。
0A90 MB_RED_SERVER 指令未授權(quán)。有關(guān)詳細(xì)信息,參見(jiàn)上文中“授權(quán)”部分。
0AFF 連接未組態(tài)且未使用。必須組態(tài) 0A 連接。
7000 未激活任何調(diào)用且未建立任何連接 (REQ=0, DISConNECT=1)。
7001 首次調(diào)用。已觸發(fā)連接建立操作。
7002 中間調(diào)用。正在建立連接。
7003 正在終止連接。
7005 正在發(fā)送數(shù)據(jù)。
7006 正在接收數(shù)據(jù)。
STATUS_x 參數(shù)(協(xié)議錯(cuò)誤)
STATUS
(W#16#)
來(lái)自 MB_RED_SERVER 的錯(cuò)誤
消息中的錯(cuò)誤代碼 (B#16#)
描述
8380 - 接收到的 Modbus 幀格式錯(cuò)誤或字節(jié)數(shù)過(guò)少。
8381 01 功能代碼不受支持。數(shù)據(jù)長(zhǎng)度錯(cuò)誤:
? 接收到的 Modbus 幀長(zhǎng)度無(wú)效
? Modbus 幀頭中輸入的幀長(zhǎng)度與實(shí)際接收到
的字節(jié)數(shù)不一致。
? Modbus 幀頭中輸入的字節(jié)數(shù)與實(shí)際接收到
的字節(jié)數(shù)不一致(功能 15 和 16)。
8383 02 數(shù)據(jù)地址錯(cuò)誤或訪(fǎng)問(wèn)了保持性寄存器
(MB_HOLD_REG 參數(shù))地址以外的區(qū)域。有
關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)上文“MB_HOLD_REG”部
分。
8384 03 數(shù)據(jù)值錯(cuò)誤(功能 05)。
8385 03 診斷代碼不受支持(**功能 08)。
STATUS_x 參數(shù)(參數(shù)錯(cuò)誤)
STATUS
(W#16#
)
描述
80BB 參數(shù) ActiveEstablished 的值無(wú)效
只允許對(duì)服務(wù)器建立被動(dòng)連接 (active_established = FALSE)。
8187 參數(shù) MB_HOLD_REG 的指針無(wú)效。數(shù)據(jù)區(qū)過(guò)小。
8389 數(shù)據(jù)區(qū)域定義無(wú)效:
? data_type 值無(wú)效
? 數(shù)據(jù)塊編號(hào)無(wú)效或不存在:
– db 值無(wú)效
– 數(shù)據(jù)塊編號(hào)不存在
– 數(shù)據(jù)塊編號(hào)已由另一個(gè)數(shù)據(jù)區(qū)域使用
– 數(shù)據(jù)塊具有優(yōu)化訪(fǎng)問(wèn)權(quán)限
– 數(shù)據(jù)塊不在工作存儲(chǔ)器中
? length 值無(wú)效
? 屬于同一 MODBUS 數(shù)據(jù)類(lèi)型的 MODBUS 地址范圍重疊