一、材料說明:
1、溫濕度傳感器說明
卡軌溫濕度傳感器485工業級車間內置探頭modbus協議導軌殼變送器,溫濕度傳感器實物圖如下:
溫濕度傳感器的通訊說明:
2、西門子S7-200 SMART PLC 型號ST20
實物接線如下:
二、程序如下:
STL語句:
Network 1
// 初始化
LD SM0.1
R M2.0, 8
R M4.0, 8
R M0.0, 2
Network 2
LD M0.0
EU
S M0.1, 1
Network 3
// modbus初始化,溫濕度傳感器的默認波特率是4800
LD SM0.0
= L60.0
LD SM0.0
= L63.7
LD L60.0
CALL SBR1, L63.7, 4800, 0, 0, +1000, M0.0, MB1
Network 4
// 溫濕度傳感器默認的從站地址為1,,溫度傳感器的儲存器起始地址為40001
LD SM0.5
= L60.0
LD SM0.5
EU
= L63.7
LD L60.0
CALL SBR2, L63.7, 1, 0, 40001, +2, &VB100, M2.2, MB4
Network 5
// 如果modbus通訊錯誤,則MB4為1,則FILL_N執行給2個0填充到vw202開始的2個位置
LD M2.2
AB<> MB4, 0
FILL +0, VW100, 2
Network 6
// VW100為濕度(VD110為濕度顯示) VW102為溫度(VD112為溫度顯示)
LD SM0.0
LPS
ITD VW100, VD110
AENO
DTR VD110, VD110
AENO
/R 10.0, VD110
LPP
ITD VW102, VD112
AENO
DTR VD112, VD112
AENO
/R 10.0, VD112
三、運行效果圖:
西門子plc的FILL_N指令用法:填表(或者清空表)
FILL_N相信大家都用的比較多,主要是用來清空表的內容的,網上查到的內容多不夠白話,特寫一下教程,方便初學者理解,
FILL_N指令包含兩個個輸入和一個輸出。下面這個例子就是講2個0填充到vw100開始的2個位置,相當于清空表。如果modbus通信錯誤,則會執行清空溫濕度數據的操作。