當(dāng)前位置:重慶索利亞電氣設(shè)備有限公司>>西門子>>6ES7>> 西門子2 DI 24V DC2 DI 24V DC/2 DO 24V DC西門子模塊-可編程控制器
西門子2 DI 24V DC
Siemens/西門子
經(jīng)銷商
重慶
2 DI 24V DC/2 DO 24V DC西門子模塊 168元 999 件 可售
聯(lián)系方式:彭昭霖查看聯(lián)系方式
更新時(shí)間:2021-04-06 19:48:02瀏覽次數(shù):362次
聯(lián)系我時(shí),請告知來自 儀表網(wǎng)| 產(chǎn)地 | 進(jìn)口 | 加工定制 | 否 |
|---|
2 DI 24V DC/2 DO 24V DC西門子模塊
在每個(gè)掃描周期的初期將物理外設(shè)的數(shù)字量輸入信號掃描到數(shù)字量輸入映像區(qū)(DI)中,程序在運(yùn)行過程中的數(shù)字量輸出值暫存在數(shù)字量輸出映像區(qū)(DO)中,并在掃描周期的末期將數(shù)字量輸出映像區(qū)的值刷新到物理輸出模塊。數(shù)字量輸入/輸出映像區(qū)是可讀且可寫的,在程序中對某些數(shù)字量輸入位進(jìn)行寫操作,便可以模擬外部的數(shù)字量輸入信號。
CPU對模擬量的處理有所不同,模擬量的值存放在模擬量輸入/輸出存儲區(qū)中。注意,模擬量的存放區(qū)被稱為“存儲區(qū)”而不是“映像區(qū)”或者“緩存區(qū)”。對于程序中使用的模擬量,是直接從存儲區(qū)進(jìn)行讀取或?qū)懭氲?。模擬輸入(AI)存儲區(qū)是只讀的(Read Only),模擬量輸出(AO)存儲區(qū)是只寫的(Write Only);(參考:深度理解PLC的工作原理(How PLC works))
變量存儲區(qū)(V)用來存放程序在運(yùn)行過程中的中間變量或者需要的配方數(shù)據(jù);標(biāo)志存儲區(qū)(M)用來存放邏輯運(yùn)算的中間結(jié)果(標(biāo)志,flag);其實(shí),在編程時(shí),變量存儲區(qū)和標(biāo)志存儲區(qū)沒有明顯的界限,你也可以用變量存儲區(qū)來存放邏輯運(yùn)算的中間結(jié)果。兩者都可以位、字節(jié)、字或者雙字的方式進(jìn)行訪問,其區(qū)別在于變量存儲區(qū)(V)比標(biāo)志存儲區(qū)(M)要大很多。比如,在CPU ST40中,變量存儲區(qū)的范圍為VB0到VB16383;而標(biāo)志存儲區(qū)的范圍為MB0到MB31。程序運(yùn)行過程中需要的配方數(shù)據(jù),需要在數(shù)據(jù)塊(Data Block)編輯器中設(shè)置并存放在變量存儲器(V)中。
定時(shí)器(Timer)用來計(jì)時(shí)。S7-200 Smart定時(shí)器的時(shí)間基準(zhǔn)有1ms,10ms和100ms三種。定時(shí)器有兩種變量:當(dāng)前值(Current value)和定時(shí)器位(Timer bit)。當(dāng)前值是一個(gè)16位的無符號整數(shù),用來記錄當(dāng)前的時(shí)間;定時(shí)器位是一個(gè)位(bit),用來記錄定時(shí)器是否已經(jīng)被觸發(fā)(當(dāng)前值大于設(shè)定值)。以定時(shí)器的地址(T+number)既可以訪問當(dāng)前值,也可以訪問定時(shí)器位,取決于訪問指令的類型。位操作指令訪問的是定時(shí)器的位,字操作指令訪問的是定時(shí)器的當(dāng)前值。例如下面這張圖:
*段程序是讀取定時(shí)器T3的當(dāng)前值,并將其存放到VW10,屬于字操作;
第二段程序是讀取定時(shí)器T3的位,并將其輸出到Q0.0,屬于位操作;

計(jì)數(shù)器(Counter)用來進(jìn)行計(jì)數(shù)。S7-200 Smart提供三種計(jì)數(shù)器:向上計(jì)數(shù)器、向下計(jì)數(shù)器和上下計(jì)數(shù)器。與定時(shí)器類似,計(jì)數(shù)器也有一個(gè)當(dāng)前值(16位無符號整數(shù))和一個(gè)計(jì)數(shù)器位(bit),其地址是以字母C加上編號(比如C10)。使用字操作指令可以訪問計(jì)數(shù)器的當(dāng)前值,使用位操作指令可以訪問計(jì)數(shù)器的位。
高速計(jì)數(shù)器(High Speed Counter)與普通的計(jì)數(shù)器不同,它不受CPU掃描周期的限制,可以用來對高速信號(比如脈沖)進(jìn)行計(jì)數(shù)。高速計(jì)數(shù)器的值是一個(gè)32位的有符號整數(shù),其性質(zhì)為只讀(Read Only),可以通過高速計(jì)數(shù)器的地址(HC+number)進(jìn)行訪問。
累加器(Accumulator)的訪問速度快,可以用來傳遞參數(shù)或存放指令運(yùn)算的中間結(jié)果。S7-200 Smart提供4個(gè)32位的累加器(AC0,AC1,AC2和AC3),累加器可以字節(jié)、字或者雙字的方式進(jìn)行訪問。
特殊存儲器(SM)存放著與系統(tǒng)運(yùn)行有關(guān)的特殊變量,PLC的操作系統(tǒng)會將系統(tǒng)狀態(tài)等信息寫入到特殊存儲器中,用戶程序通過訪問特定的特殊存儲器,就可以獲取一些系統(tǒng)級的信息。比如,SM0.0始終為1,SM0.5會產(chǎn)生1s的時(shí)鐘脈沖等。S7-200 smart有非常多的特殊存儲器變量,將在以后陸續(xù)介紹。
局部存儲區(qū)(L)用來保存程序塊的運(yùn)行信息。如果某個(gè)程序塊因?yàn)橹袛嗷蛘哒{(diào)用其它塊的原因而被掛起時(shí),其相關(guān)的運(yùn)行信息會被存放到局部存儲區(qū)中,以便程序返回時(shí)可以從斷點(diǎn)處繼續(xù)執(zhí)行。S7-200 smart為每一個(gè)程序組織單元(POU,program organizational unit)分配了64個(gè)字節(jié)的局部存儲區(qū)。
順序控制繼電器存儲區(qū)(S)與順序控制繼電器相關(guān),在編寫順序控制流程圖中使用。它可以位、字節(jié)、字和雙字的方式進(jìn)行訪問,其地址符號為S,比如S3.1,SB6等。
Modbus TCP是標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信協(xié)議,通過CPU上PN接口進(jìn)行TCP/IP通信,不需要額外的通信硬件模塊,Modbus TCP使用開放式用戶通信連接作為Modbus通信路徑,所支持的混合客戶機(jī)和服務(wù)器連接數(shù)大為CPU所允許的大開放式用戶通信連接數(shù)8個(gè)。
軟件 STEP7 V11 SP1版本開始,S7-1200CPU 從Firmware V1.0.2開始,不再需要安裝Modbus TCP的庫文件,可以直接調(diào)用Modbus TCP的庫指令“MB_CLIENT”和“MB_SERVER”使用實(shí)現(xiàn)Modbus TCP通信功能,如圖1.所示。

圖1. Modbus TCP的庫指令
S7-1200 做 Modbus Tcp Server (服務(wù)器)
“MB_SERVER”指令將處理Modbus TCP客戶機(jī)的連接請求、接收Modbus功能的請求并發(fā)送響應(yīng)。
1.調(diào)用MB_SERVER通信指令,進(jìn)入 “Program blocks” > “OB1” 主程序中調(diào)用,設(shè)置連接ID、IP端口等參數(shù),如下圖2.所示。

圖2.調(diào)用MB_SERVER通信指令
功能塊參數(shù)意義如下表5.
| 管腳 | 說明 |
| DISCONNECT | “MB_SERVER”指令建立與客戶機(jī)的被動連接:0-建立與IP地址和端口號的通訊連接,默認(rèn)為0;1-斷開通訊連接,在終止連接的過程中,不執(zhí)行任何其他功能; |
| CONNECT_ID | 連接的ID號:每個(gè)連接只有一個(gè)的ID號; |
| IP_PORT IP | 端口號將定義Modbus 客戶機(jī)連接請求中要監(jiān)控的IP端口號,默認(rèn)值:502; |
| HB_HOLD_REG | 指向“MB_SERVER”指令的Modbus保持寄存器的指針:保持寄存器可以是全局DB塊或M區(qū),如果是DB塊則需要定義為“標(biāo)準(zhǔn)與S7- 300/400兼容”的類型,如圖11.所示,保持寄存器包含Modbus客戶機(jī)可通過Modbus功能 FC03(讀取)、FC06(寫入)和FC16(讀取)訪問的值; |
| NDR | 新數(shù)據(jù)就緒:0-沒有新數(shù)據(jù);1-從Modbus客戶機(jī)寫入新數(shù)據(jù); |
| DR | 數(shù)據(jù)讀?。?-沒有讀取數(shù)據(jù);1-從Modbus客戶機(jī)讀取數(shù)據(jù); |
| ERROR | 錯(cuò)誤位:0-無錯(cuò)誤;1-出現(xiàn)錯(cuò)誤,錯(cuò)誤原因查看STATUS; |
| STATUS | 錯(cuò)誤代碼; |
表1. 功能塊“MB_SERVER”參數(shù)
2.MB_DATA_PTR數(shù)據(jù)塊的新建
通過“Program blocks”>“Add new block”,選擇“Data block”創(chuàng)建 DB 塊,選擇“標(biāo)準(zhǔn)與S7- 300/400兼容” ,點(diǎn)擊“OK”鍵,定義數(shù)據(jù)區(qū)為100個(gè)字的數(shù)組,如圖3.所示。


圖3.新建MB_DATA_PTR數(shù)據(jù)塊
3.Modbus地址的對應(yīng)關(guān)系
“MB_SERVER”指令允許到達(dá)的Modbus功能(FC01、FC02、FC04、FC05、FC15)直接讀取和寫入訪問S7-1200CPU的過程映像輸入/輸出區(qū)(數(shù)據(jù)類型:BOOL和WORD),通過Modbus功能代碼(FC03、FC06和FC16)將到達(dá)的Modbus消息寫入Modbus保持寄存器或從寄存器中讀?。赏ㄟ^MB_SERVER指令的參數(shù)“MB_HOLD_REG”保持寄存器),保持寄存器的大?。∕B_HOLD_REG參數(shù))必須大于1個(gè)字節(jié),詳細(xì)參考表2.。
| Modbus功能 | S7-1200 | ||||
| 代碼 | 功能 | 數(shù)據(jù)區(qū) | 地址空間 | 數(shù)據(jù)區(qū) | CPU地址 |
| FC01 | 讀?。何?/td> | Output | 00001到08192 | 過程映像輸出 | Q0.0到Q1023.7 |
| FC02 | 讀?。何?/td> | bbbbb | 10001到18192 | 過程映像輸入 | I0.0到I1023.7 |
| FC04 | 讀?。鹤?/td> | bbbbb | 30001到30512 | 過程映像輸入 | IW0到IW1022 |
| FC05 | 寫入:位 | Output | 00001到08192 | 過程映像輸出 | Q0.0到Q1023.7 |
| FC15 | 寫多入:位 | Output | 00001到08192 | 過程映像輸出 | Q0.0到Q1023.7 |
表2.Modbus地址的對應(yīng)關(guān)系
4.客戶機(jī)端 Modscan32 軟件設(shè)置
注意:客戶機(jī)采用Modscan32軟件測試,Modscan32 做 Modbus TCP Client 測試軟件,是第三方軟件,可以從 internet 網(wǎng)絡(luò)上下載。
將測試電腦的IP地址設(shè)置成192.168.0.210,打開Modscan32 軟件,在Modscan32的“Setup->Data Definition”中設(shè)置功能碼、起始地址、長度等,如圖4.所示。

圖4.設(shè)置“Data Definition”參數(shù)
在“Connection->connect...”中打開連接屬性對話框,選擇“Remote modbus TCP Server”,設(shè)置服務(wù)器的IP地址,端口號,如圖5.所示。


圖5.設(shè)置連接屬性
注意:用Modsscan32做客戶機(jī)不需要考慮Device ID和服務(wù)器一致的情況,服務(wù)器自動響應(yīng)客戶機(jī)的Device ID。
5.通訊測試
S7-1200作服務(wù)器,客戶機(jī)Modscan32用FC03功能碼讀取服務(wù)器的兩個(gè)字,設(shè)置客戶機(jī)和服務(wù)器的功能、起始地址、端口等參數(shù)相對應(yīng),具體設(shè)置如圖5.和6.所示,

圖6.S7-1200作服務(wù)器
通訊結(jié)果如下圖7.所示,Modscan32從服務(wù)器讀到數(shù)據(jù)10,20到客戶機(jī)的DB4.DBW0和DB4.DBW2區(qū)域。

圖7.FC03通訊結(jié)果
用功能FC15向服務(wù)器的Q0.0~Q0.7寫8位數(shù)據(jù),設(shè)置連接參數(shù),Modscan32設(shè)置結(jié)果如下圖8.所示。

圖8.使用FC15通訊,設(shè)置Modscan32
測試結(jié)果,服務(wù)器側(cè)直接對應(yīng)過程映像輸出區(qū),00001~00008對應(yīng)Q0.0~Q0.7,如下圖9.所示。

圖9. 使用FC15通訊測試結(jié)果
6.HR_Start_Offset背景參數(shù)
HR_Start_Offset是類型為字,用于Modbus保持寄存器的起始地址,存儲在MB_SERVER背景數(shù)據(jù)塊中,默認(rèn)值是0,可以通過編程將值寫入HR_Start_Offset。以上面FC03功能讀2個(gè)字為例,將HR_Start_Offset的偏移量設(shè)置成2,其他參數(shù)不修改,HR_Start_Offset偏移前后地址對應(yīng)關(guān)系如下表7,編程調(diào)用和結(jié)果如圖10.和11.所示。
| HR_Start_Offset | 地址 | 數(shù)據(jù)1 | 數(shù)據(jù)2 |
| 0 | Modbus 地址(字) | 40001 | 40002 |
| S7-1200地址 | DB4.DBW0 | DB4.DBW2 | |
| 2 | Modbus 地址(字) | 40003 | 40004 |
| S7-1200地址 | DB4.DBW0 | DB4.DBW2 |
表3. HR_Start_Offset偏移前后地址對應(yīng)關(guān)系
編程調(diào)用如下圖10.所示


圖10.HR_Start_Offset的偏移量設(shè)置
通訊結(jié)果如下圖11.所示

圖11. 通訊結(jié)果
7.MB_SERVER參數(shù)STATUS的查詢參考下面列表4.
| STATUS(W#16#) | 發(fā)送到Modbus服務(wù)器的響應(yīng)代碼(B#16#) | 錯(cuò)誤說明 |
| 7001 | MB_SERVER 正在等待Modbus客戶機(jī)連接到的TCP端口,僅在次執(zhí)行連接或斷開操作時(shí)才報(bào)告此代碼 | |
| 7002 | MB_SERVER 正在等待Modbus客戶機(jī)連接到的TCP端口,等待連接或斷開操作完成時(shí),將針對任何后續(xù)執(zhí)行報(bào)告此代碼 | |
| 7003 | 斷開操作已成功完成(僅在一個(gè)PLC掃描周期內(nèi)有效) | |
| 8187 | 參數(shù)MB_HOLD_REG中的指針無效,數(shù)據(jù)區(qū)過小 | |
| 818C | 參數(shù)MB_HOLD_REG指向優(yōu)化的區(qū)域(必須為“標(biāo)準(zhǔn)與S7- 300/400兼容”的DB或M區(qū))或因執(zhí)行超時(shí)出錯(cuò)(55秒) | |
| 8381 | 01 | 不支持此功能代碼 |
| 8382 | 03 | 數(shù)據(jù)長度錯(cuò)誤 |
| 8383 | 02 | 數(shù)據(jù)地址錯(cuò)誤或訪問了保持寄存器(MB_HOLD_REG參數(shù))地址以外的區(qū)域 |
| 8384 | 03 | 數(shù)據(jù)值錯(cuò)誤 |
| 8385 | 03 | 不支持此數(shù)據(jù)診斷代碼值(功能FC08) |
表4.MB_SERVER參數(shù)STATUS
除了上面列出的錯(cuò)誤外,也可以從底層傳輸通信指令(TCON、TDISCON、TSEND和TRCV)返回錯(cuò)誤,參考相應(yīng)指令的錯(cuò)誤代碼。
說明:Modbus Slave做 Modbus TCP server 測試軟件,Modscan32 做 Modbus TCP Client 測試軟件,兩者都是第三方軟件,可以從 internet 網(wǎng)絡(luò)上下載
2 DI 24V DC/2 DO 24V DC西門子模塊
請輸入賬號
請輸入密碼
請輸驗(yàn)證碼
以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),儀表網(wǎng)對此不承擔(dān)任何保證責(zé)任。
溫馨提示:為規(guī)避購買風(fēng)險(xiǎn),建議您在購買產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。