西門子模塊6ES7513-1AL02-0AB0
致命錯(cuò)誤會(huì)導(dǎo)致CPU停止執(zhí)行用戶程序。根據(jù)錯(cuò)誤的嚴(yán)重性,一個(gè)致命錯(cuò)誤會(huì)導(dǎo)致CPU無(wú)法執(zhí)行某些功能或所有功能。處理致命錯(cuò)誤的目的是使CPU進(jìn)入安全狀態(tài),使之可以響應(yīng)對(duì)當(dāng)前錯(cuò)誤狀況的詢問。
當(dāng)發(fā)生一個(gè)致命錯(cuò)誤時(shí),CPU執(zhí)行以下任務(wù):①進(jìn)入STOP(停止)方式;②點(diǎn)亮系統(tǒng)致命錯(cuò)誤LED和STOP(停止)LED指示燈;③斷開輸出。這種狀態(tài)將會(huì)持續(xù)到錯(cuò)誤清除之后。表1列出了可以從CPU模塊讀到的致命錯(cuò)誤代碼及其描述。
表1 致命錯(cuò)誤代碼及描述
錯(cuò)誤代碼 | 描 述 |
0000 | 無(wú)致命錯(cuò)誤 |
0001 | 用戶程序校驗(yàn)和錯(cuò)誤 |
0002 | 編譯后的梯形圖程序校驗(yàn)和錯(cuò)誤 |
0003 | 掃描看門狗超時(shí)錯(cuò)誤 |
0004 | 內(nèi)部EEPROM錯(cuò)誤 |
0005 | 內(nèi)部EEPROM用戶程序校驗(yàn)和錯(cuò)誤 |
0006 | 內(nèi)部EEPROM配置參數(shù)校驗(yàn)和錯(cuò)誤 |
0007 | 內(nèi)部EEPROM強(qiáng)制數(shù)據(jù)校驗(yàn)和錯(cuò)誤 |
0008 | 內(nèi)部EEPROM缺省輸出表值校驗(yàn)和錯(cuò)誤 |
0009 | 內(nèi)部EEPROM用戶數(shù)據(jù)、DB1校驗(yàn)和錯(cuò)誤 |
000A | 存儲(chǔ)器卡失效 |
000B | 存儲(chǔ)器卡用戶程序校驗(yàn)和錯(cuò)誤 |
000C | 存儲(chǔ)器卡配置參數(shù)校驗(yàn)和錯(cuò)誤 |
000D | 存儲(chǔ)器卡強(qiáng)制數(shù)據(jù)校驗(yàn)和錯(cuò)誤 |
000E | 存儲(chǔ)器卡缺省輸出表值校驗(yàn)和錯(cuò)誤 |
000F | 存儲(chǔ)器卡用戶數(shù)據(jù)、DB1校驗(yàn)和錯(cuò)誤 |
0010 | 內(nèi)部軟件錯(cuò)誤 |
0011 | 比較觸點(diǎn)間接尋址錯(cuò)誤 |
0012 | 比較觸點(diǎn)非法值錯(cuò)誤 |
0013 | 存儲(chǔ)器卡空,或者CPU不能識(shí)別該卡 |
0014 | 比較觸點(diǎn)范圍錯(cuò)誤 |
在程序的正常運(yùn)行中,可能會(huì)產(chǎn)生非致命錯(cuò)誤(如尋址錯(cuò)誤)。在這種情況下,CPU產(chǎn)生一個(gè)非致命運(yùn)行時(shí)間錯(cuò)誤代碼。表1列出了這些非致命錯(cuò)誤代碼及其描述。
表1 運(yùn)行程序錯(cuò)誤
錯(cuò)誤代碼 | 含 義 |
0000 | 無(wú)錯(cuò)誤 |
0001 | 執(zhí)行HDEF之前,HSC禁止 |
0002 | 輸入中斷分配沖突并分配給HSC |
0003 | 到HSC的輸入分配沖突,已分配給輸入中斷 |
0004 | 在中斷程序中企圖執(zhí)行ENI、DLSI或HDEF指令 |
0005 | *個(gè)HSC/PLS未執(zhí)行完之前,又企圖執(zhí)行同編號(hào)的第二個(gè)HSC/PLS |
0006 | 間接尋址錯(cuò)誤 |
0007 | TODW(寫實(shí)時(shí)時(shí)鐘)或TODR(讀實(shí)時(shí)時(shí)鐘)數(shù)據(jù)錯(cuò)誤 |
0008 | 用戶子程序嵌套層數(shù)超過(guò)規(guī)定 |
0009 | 在程序執(zhí)行XMT或RCV時(shí),通信口0又執(zhí)行另一條XMT/RCV指令 |
000A | HSC執(zhí)行時(shí),又企圖用HDEF指令再定義該HSC |
000B | 在通信口1上同時(shí)執(zhí)行XMT/RCV指令 |
000C | 時(shí)鐘存儲(chǔ)卡不存在 |
000D | 重新定義已經(jīng)使用的脈沖輸出 |
000E | PTO個(gè)數(shù)設(shè)為0 |
0091 | 范圍錯(cuò)誤(帶地址信息):檢查操作數(shù)范圍 |
0092 | 某條指令的計(jì)數(shù)域錯(cuò)誤(帶計(jì)數(shù)信息):檢查最大計(jì)數(shù)范圍 |
0094 | 范圍錯(cuò)誤(帶地址信息):寫無(wú)效存儲(chǔ)器 |
009A | 用戶中斷程序試圖轉(zhuǎn)換成自由端口模式 |
009B | 非法指針(字符串操作中起始位置值為0) |
西門子模塊6ES7513-1AL02-0AB0
CPU不需要進(jìn)行通信編程。PUT/GET 指令中TABLE 參數(shù)用于定義遠(yuǎn)程CPU的 IP地址、本地CPU和遠(yuǎn)程 CPU的數(shù)據(jù)區(qū)域以及通信長(zhǎng)度(TABLE 參數(shù)定義見 表 2)。
表 1 PUT和GET 指令:
LAD/FBD | STL | 描述 |
| PUT TABLE | PUT 指令啟動(dòng)以太網(wǎng)端口上的通信操作,將數(shù)據(jù)寫入遠(yuǎn)程設(shè)備。PUT 指令可向遠(yuǎn)程設(shè)備寫入多 212 個(gè)字節(jié)的數(shù)據(jù)。 |
| GET TABLE | GET 指令啟動(dòng)以太網(wǎng)端口上的通信操作,從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。GET 指令可從遠(yuǎn)程設(shè)備讀取多 222 個(gè)字節(jié)的數(shù)據(jù)。 |
表 2 PUT和GET 指令的TABLE參數(shù)定義:
字節(jié)偏移量 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
0 | D1 | A2 | E3 | 0 | 錯(cuò)誤代碼4 |
1 | 遠(yuǎn)程 CPU的 IP地址 |
2 |
3 |
4 |
5 | 預(yù)留(必須設(shè)置為0) |
6 | 預(yù)留(必須設(shè)置為0) |
7 | 指向遠(yuǎn)程 CPU 通信數(shù)據(jù)區(qū)域的地址指針 (允許數(shù)據(jù)區(qū)域包括:I、Q、M、V) |
8 |
9 |
10 |
11 | 通信數(shù)據(jù)長(zhǎng)度5 |
12 | 指向本地 CPU 通信數(shù)據(jù)區(qū)域的地址指針 (允許數(shù)據(jù)區(qū)域包括:I、Q、M、V) |
13 |
14 |
15 |
1 D :通信完成標(biāo)志位,通信已經(jīng)成功完成或者通信發(fā)生錯(cuò)誤。
2 A :通信已經(jīng)激活標(biāo)志位。
3 E :通信發(fā)生錯(cuò)誤,錯(cuò)誤原因需要查詢 錯(cuò)誤代碼4。
4 錯(cuò)誤代碼 :見表 3 PUT 和 GET 指令TABLE 參數(shù)的錯(cuò)誤代碼。
5 通信數(shù)據(jù)長(zhǎng)度 :需要訪問遠(yuǎn)程 CPU通信數(shù)據(jù)的字節(jié)個(gè)數(shù),PUT 指令可向遠(yuǎn)程設(shè)備寫入多 212 個(gè)字節(jié)的數(shù)據(jù),GET 指令可從遠(yuǎn)程設(shè)備讀取多 222 個(gè)字節(jié)的數(shù)據(jù)。
表 3 PUT 和 GET 指令TABLE 參數(shù)的錯(cuò)誤代碼:
錯(cuò)誤代碼 | 描述 |
0 | 通信無(wú)錯(cuò)誤 |
1 | PUT/GET TABLE參數(shù)表中存在非法參數(shù):本地CPU通信區(qū)域不包括 I、Q、M 或 V。 本地CPU不足以提供請(qǐng)求的數(shù)據(jù)長(zhǎng)度。 對(duì)于 GET指令數(shù)據(jù)長(zhǎng)度為零或大于 222 字節(jié);對(duì)于 PUT指令數(shù)據(jù)長(zhǎng)度大于 212 字節(jié)。 遠(yuǎn)程CPU通信區(qū)域不包括 I、Q、M 或 V。 遠(yuǎn)程CPU 的IP 地址是非法的 (0.0.0.0)。 遠(yuǎn)程CPU 的IP 地址為廣播地址或組播地址。 遠(yuǎn)程CPU 的IP 地址與本地 CPU的IP 地址相同 遠(yuǎn)程CPU 的IP 地址位于不同的子網(wǎng)。
|
2 | 同一時(shí)刻處于激活狀態(tài)的 PUT/GET 指令過(guò)多(僅允許 16 個(gè)) |
3 | 無(wú)可以連接資源,當(dāng)前所有的連接都在處理未完成的數(shù)據(jù)請(qǐng)求(S7-200 SAMRT CPU主動(dòng)連接資源數(shù)為 8 個(gè))。 |
4 | 從遠(yuǎn)程 CPU 返回的錯(cuò)誤:請(qǐng)求或發(fā)送的數(shù)據(jù)過(guò)多。 STOP 模式下不允許對(duì) Q 存儲(chǔ)器執(zhí)行寫入操作。 存儲(chǔ)區(qū)處于寫保護(hù)狀態(tài)
|
5 | 與遠(yuǎn)程 CPU 之間無(wú)可用連接: |
6-9 | 預(yù)留 |
通信資源數(shù)量
S7-200 SMART CPU 以太網(wǎng)端口含有 8 個(gè)PUT/GET 主動(dòng)連接資源和 8 個(gè)PUT/GET 被動(dòng)連接資源。例如:CPU1 調(diào)用 PUT/GET 指令與 CPU2 ~ CPU9 建立8主動(dòng)連接的同時(shí),可以與 CPU10 ~ CPU17 建立8被動(dòng)連接(CPU10 ~ CPU17 調(diào)用 PUT/GET 指令),這樣的話 CPU1 可以同時(shí)與16臺(tái) CPU(CPU2 ~ CPU17)建立連接。關(guān)于主動(dòng)連接資源和被動(dòng)連接資源的詳細(xì)解釋如下:
1、主動(dòng)連接資源和被動(dòng)連接資源
2、8 個(gè)PUT/GET 主動(dòng)連接資源
S7-200 SMART CPU 程序中可以包含遠(yuǎn)多于 8個(gè)PUT/GET 指令的調(diào)用,但是在同一時(shí)刻多只能激活 8 個(gè) PUT/GET 連接資源。
同一時(shí)刻對(duì)同一個(gè)遠(yuǎn)程 CPU 的多個(gè) PUT/GET 指令的調(diào)用,只會(huì)占用本地 CPU的一個(gè)主動(dòng)連接資源和遠(yuǎn)程 CPU的一個(gè)被動(dòng)連接資源。本地 CPU 與遠(yuǎn)程 CPU之間只會(huì)建立一條連接通道,同一時(shí)刻觸發(fā)的多個(gè) PUT/GET 指令將會(huì)在這條連接通道上順序執(zhí)行。
同一時(shí)刻多能對(duì)8個(gè)不同 IP 地址的遠(yuǎn)程 CPU 進(jìn)行 PUT/GET 指令的調(diào)用,第9個(gè) 遠(yuǎn)程CPU的PUT/GET 指令調(diào)用將報(bào)錯(cuò),無(wú)可用連接資源。已經(jīng)成功建立的連接將被保持,直到遠(yuǎn)程 CPU斷電或者物理斷開。
3、8 個(gè)PUT/GET 被動(dòng)連接資源
S7-200 SMART CPU 調(diào)用 PU西門子6ES75101DJ010AB0T/GET 指令,執(zhí)行主動(dòng)連接的同時(shí)也可以被動(dòng)地被其他遠(yuǎn)程 CPU 進(jìn)行通信讀寫。
S7-200 SMART多可以與被8個(gè)不同 IP 地址的遠(yuǎn)程 CPU 進(jìn)行 建立被動(dòng)連接。已經(jīng)成功建立的連接將被保持,直到遠(yuǎn)程 CPU斷電或者物理斷開。
指令編程舉例
在下面的例子中,CPU1 為主動(dòng)端,其 IP 地址為192.168.2.100,調(diào)用 PUT/GET 指令;CPU2 為被動(dòng)端,其 IP 地址為192.168.2.101,不需調(diào)用 PUT/GET 指令,網(wǎng)絡(luò)配置見圖 1 。通信任務(wù)是把 CPU1 的實(shí)時(shí)時(shí)鐘信息寫入 CPU2 中,把CPU2 中的實(shí)時(shí)時(shí)鐘信息讀寫到 CPU1 中。
圖 1 CPU通信網(wǎng)絡(luò)配置圖
1、CPU1 主動(dòng)端編程
CPU1 主程序中包含讀取 CPU 實(shí)時(shí)時(shí)鐘、初始化 PUT/ GET 指令的 TABLE 參數(shù)表、調(diào)用 PUT 指令和 GET 指令等。
網(wǎng)絡(luò)1:讀取 CPU1 實(shí)時(shí)時(shí)鐘,存儲(chǔ)到 VB100 ~ VB107 。
圖 2 讀取 CPU1 實(shí)時(shí)時(shí)鐘
注:READ_RTC 指令用于讀取 CPU 實(shí)時(shí)時(shí)鐘指令,并將其存儲(chǔ)到從字節(jié)地址 T 開始的 8 字節(jié)時(shí)間緩沖區(qū)中,數(shù)據(jù)格式為 BCD 碼。
網(wǎng)絡(luò)2:定義 PUT 指令 TABLE 參數(shù)表,用于將 CPU1 的VB100 ~ VB107 傳輸?shù)竭h(yuǎn)程 CPU2 的VB0 ~ VB7。
圖 3 定義 PUT 指令 TABLE 參數(shù)表
a.定義通信狀態(tài)字節(jié)
b.定義 CPU2 IP 地址
c.定義 CPU2 的通信區(qū)域 ,從 VB0 地址開始
d.定義通信數(shù)據(jù)長(zhǎng)度
e.定義 CPU1 的通信區(qū)域,從 VB100 地址開始
網(wǎng)絡(luò)3:定義 GET 指令 TABLE 參數(shù)表,用于將遠(yuǎn)程 CPU2 的VB100 ~ VB107 讀取到 CPU1 的 VB0 ~ VB7。
西門子模塊6ES7516-3AN01-0AB0
裝置 SITOP電源電線電纜數(shù)控備件伺服電機(jī)等工控產(chǎn)品,我們公司在價(jià)格上有較大優(yōu)勢(shì),更注重售后服務(wù),現(xiàn)有大量現(xiàn)貨銷售,歡迎您。
這些功能碼是對(duì)四個(gè)數(shù)據(jù)區(qū)位輸入、位輸出、寄存器輸入、寄存器輸出進(jìn)行訪問的,如圖 4 所示。
圖4 訪問的數(shù)據(jù)區(qū)
Modbus地址由起始的數(shù)據(jù)類型代號(hào)和地址偏移量組成。功能碼決定對(duì)Modbus地址進(jìn)行操作類型,其可根據(jù)需要傳輸?shù)臄?shù)據(jù)類型和個(gè)數(shù)來(lái)決定,如圖 5 所示。
圖5 MODBUS 地址對(duì)應(yīng)關(guān)系
注意:在傳輸消息楨中,用戶使用的地址是0為基準(zhǔn),而對(duì)應(yīng)的Modbus地址是1為基準(zhǔn),如FC16功能碼時(shí)以16進(jìn)制的0000為起始地址,對(duì)應(yīng)的寄存器是從40001開始。
MODBUS RTU 傳輸模式:消息楨中的每個(gè)8位分成2個(gè)4位16進(jìn)制的字符。
每個(gè)字符幀格式(11位),如圖 6 所示。
圖6 字符幀格式
注意:如果無(wú)奇偶校驗(yàn)位,停止位是2位。
消息幀格式,如圖 7 所示。