新聞中心
PRESS CENTERS7讀數(shù)據(jù) S7寫數(shù)據(jù) S7高級讀取支持以S7協(xié)議讀寫西門子系列PLC的數(shù)據(jù),目前已經(jīng)測試過的西門子PLC如下:S7-200 Smart、S7-300、S7400、S7-1200、S7-1500。支持數(shù)據(jù)點批量導入導出。
S7讀數(shù)據(jù) S7寫數(shù)據(jù) S7高級讀取共用一個S7配置節(jié)點,主要功能也集中在S7配置節(jié)點內(nèi),配置內(nèi)容如下:
接口:目前只支持以太網(wǎng),也就是S7協(xié)議 IP:PLC的IP地址 端口:S7通信端口,默認102 模式:Rack/Slot(機架號/槽號,通常選擇此模式,博圖軟件查看地址見下圖) TASP(S7-200 Smart選擇TASP,10.02 03.01) 采集周期:配置從PLC讀取變量的時間間隔,如果設置0則禁用自動讀取 超時時間:配置從PLC讀取變量的超時時間,如果網(wǎng)絡繁忙或者延遲很高,可能需要加大此時間 |
博圖軟件機架號槽號查看方式:
變量地址即數(shù)據(jù)點地址,表示方式和Step7以及博圖軟件有一些不同,具體配置請參考下表進行設置:
變量地址 | Step7 地址 | 數(shù)據(jù)類型 | 描述 |
DB5,X0.1 | DB5.DBX0.1 | Boolean | Bit 1 of byte 0 of DB 5 |
DB23,B1 or DB23,BYTE1 | DB23.DBB1 | Number | Byte 1 (0-255) of DB 23 |
DB100,C2 or DB100,CHAR2 | DB100.DBB2 | String | Byte 2 of DB 100 as a Char |
DB42,I3 or DB42,INT3 | DB42.DBW3 | Number | Signed 16-bit number at byte 3 of DB 42 |
DB57,WORD4 | DB57.DBW4 | Number | Unsigned 16-bit number at byte 4 of DB 57 |
DB13,DI5 or DB13,DINT5 | DB13.DBD5 | Number | Signed 32-bit number at byte 5 of DB 13 |
DB19,DW6 or DB19,DWORD6 | DB19.DBD6 | Number | Unsigned 32-bit number at byte 6 of DB 19 |
DB21,R7 or DB21,REAL7 | DB19.DBD7 | Number | Floating point 32-bit number at byte 7 of DB 21 |
DB2,S7.10* | - | String | String of length 10 starting at byte 7 of DB 2 |
I1.0 or E1.0 | I1.0 or E1.0 | Boolean | Bit 0 of byte 1 of input area |
Q2.1 or A2.1 | Q2.1 or A2.1 | Boolean | Bit 1 of byte 2 of output area |
M3.2 | QM3.2 | Boolean | Bit 2 of byte 3 of memory area |
IB4 or EB4 | IB4 or EB4 | Number | Byte 4 (0 -255) of input area |
QB5 or AB5 | QB5 or AB5 | Number | Byte 5 (0 -255) of output area |
MB6 | MB6 | Number | Byte 6 (0 -255) of memory area |
IC7 or EC7 | IB7 or EB7 | String | Byte 7 of input area as a Char |
QC8 or AC8 | QB8 or AB8 | String | Byte 8 of output area as a Char |
MC9 | MB9 | String | Byte 9 of memory area as a Char |
II10 or EI10 | IW10 or EW10 | Number | Signed 16-bit number at byte 10 of input area |
QI12 or AI12 | QW12 or AW12 | Number | Signed 16-bit number at byte 12 of output area |
MI14 | MW14 | Number | Signed 16-bit number at byte 14 of memory area |
IW16 or EW16 | IW16 or EW16 | Number | Unsigned 16-bit number at byte 16 of input area |
QW18 or AW18 | QW18 or AW18 | Number | Unsigned 16-bit number at byte 18 of output area |
MW20 | MW20 | Number | Unsigned 16-bit number at byte 20 of memory area |
IDI22 or EDI22 | ID22 or ED22 | Number | Signed 32-bit number at byte 22 of input area |
QDI24 or ADI24 | QD24 or AD24 | Number | Signed 32-bit number at byte 24 of output area |
MDI26 | MD26 | Number | Signed 32-bit number at byte 26 of memory area |
ID28 or ED28 | ID28 or ED28 | Number | Unsigned 32-bit number at byte 28 of input area |
QD30 or AD30 | QD30 or AD30 | Number | Unsigned 32-bit number at byte 30 of output area |
MD32 | MD32 | Number | Unsigned 32-bit number at byte 32 of memory area |
IR34 or ER34 | IR34 or ER34 | Number | Floating point 32-bit number at byte 34 of input area |
QR36 or AR36 | QR36 or AR36 | Number | Floating point 32-bit number at byte 36 of output area |
MR38 | MR38 | Number | Floating point 32-bit number at byte 38 of memory area |
DB1,DT0 | - | Date** | A timestamp in the DATE_AND_TIME format |
DB1,DTZ10 | - | Date** | A timestamp in the DATE_AND_TIME format, in UTC |
DB2,DTL2 | - | Date** | A timestamp in the DTL format |
DB1,DTLZ12 | - | Date** | A timestamp in the DTL format, in UTC |
DB57,RWORD4 | DB57.DBW4 | Number | Unsigned 16-bit number at byte 4 of DB 57, interpreted as Little-Endian |
DB13,RDI5 or DB13,RDINT5 | DB13.DBD5 | Number | Signed 32-bit number at byte 5 of DB 13, interpreted as Little-Endian |
MRW20 | MRW20 | Number | Unsigned 16-bit number at byte 20 of memory area, interpreted as Little-Endian |
輸入
#無輸入口 |
輸出
msg.payload #從PLC讀取到的值,輸出格式取決于配置的模式 msg.topic #當輸出為單個變量時,為變量的名稱 |
功能
1. 單個變量
可以從配置的變量中選擇單個變量,每個周期都會輸出一條消息?;蛘哌x擇當采集的值變化時在輸出。msg.payload是變量的值,msg.topic是變量的名稱。
2. 所有變量,每個變量輸出一條
和單個變量模式類似,每個變量都會輸出一條消息。
3. 所有變量輸出一條
所有消息通過一條消息輸出。msg.payload是一個包含了所有變量名稱和值的結(jié)構(gòu)體。
向生產(chǎn)環(huán)境的PLC寫入數(shù)據(jù)時要慎重!?。?/span>
輸入
msg.payload #要寫入的數(shù)據(jù) msg.variable #當不選擇配置變量時,此字段有效 |
輸出
#無輸出口 |
請參考流程介紹:點擊鏈接查看-https://iotrouter.yuque.com/org-wiki-iotrouter-rlzwv5/eg8000/ygr92sghngxooa98
使用S7-1200/S7-1500需要額外的配置,才能讀取數(shù)據(jù):
要訪問的數(shù)據(jù)塊必須禁用Optimized block access
在CPU屬性的保護項啟用Permit access with PUT/GET