
葫蘆島西門子模塊代理商葫蘆島西門子模塊代理商1.調用ASIX_CTRL子程序
將圖12-13左邊窗口的文件夾“\程序塊\向導”中的子程序“ASIx_CTRL”拖放到OB1中(見圖12-14),其中的x是AS-i模塊所在的槽位號。SM0.0的常開觸點一直接通,每次掃描時都執行ASIx_CTRL,才能**正常的AS-i網絡通信。必須為每個CP 243-2模塊編寫條ASIx_CTRL指令。ASIx_CTRL指令根據ASIx_SYM符號表中的定義,在AS-i模塊和CPU的V存儲區之間復制從站IO數據。ASIx_CTRL只有一個輸出變量Error(錯誤信息),可以在ASI向導的在線幫助中查閱錯誤代碼的意義。
CP 243-2占用的CPU的數字量輸入、輸出字節(本例程為IB2和2)分別是AS-i的狀態(錯誤)字節和命令字節。它們各位的意義見表12-2和表12-3。
圖 12-14 調用ASI0_CTRL 子程序 圖 12-15 控制ASI通信位
表 12-2 狀態字節
表 12-3 控制字節
主站發送數據之前,應將控制字節中的“ASI_COM”(Q2.6)置位為1(見圖12-15)。下載程序后,可以通過AS-i專用的符號表(見圖12-13)中的符號地址或**地址訪問AS-i 從站的輸入、輸出變量。
2. CP 243-2 的 Bank
分配給CP243-2的8個模擬量輸入字和8個模擬量輸出字(本例從AIW0和AQW0開始),可以被切換為稱為Bank(庫)的64個輸入區和64個輸出區,每個區的長度為8個字。用控制字的0~5位選擇Bank。Bank0用于標準從站或A從站的數字量輸入,Bank1用于AS-i 診斷,Bank2~Bank15用于命令調用的響應數據,Bank31用于B從站的數字量輸入。Bank32~Bank47是從站1~31的模擬量輸入。
3. 用ASI命令實現主站的控制和診斷功能
CP243-2用各種命令來實現主站的控制功能,AS-i命令的詳細資料見隨書光盤中的文件《CP243-2 AS-i Master Manual》的5章。
子程序ASIx_READ從*的庫讀取數據(見圖12-16),并將該數據存放在由指針DB_Ptr *的16B的V存儲區。子程序ASIx_WRITE將數據寫入CP243-2中*的庫(見圖12-17),
用指針DB_Ptr*16個字節的V存儲區的源地址。
圖 12-16 調用ASI0_READ 圖 12-17 調用ASI0_WRITE
以執行命令Change_AS-i_Slave_Address(改變AS-i從站地址)為例,由CP243-2的用戶手冊可知,該命令的發送緩沖區的首字節為命令代碼16#0D,2和3個字節分別是從站老的地址和新的地址??梢杂弥噶罨蛴肧TEP 7-Micro/WIN的狀態表(相當于STEP7的變量表)將上述信息寫入VB220~VB222,然后調用圖12-17中的子程序ASIx_WRITE,將VB220~VB222中的信息發送到從站。用子程序ASIO_READ接收從站發送的響應信息(見圖12-16),存放在VB200開始的V存儲區。由CP243-2的用戶手冊可知,該命令的返回信息有兩個字節,1個字節為命令代碼16#0D,2個字節為命令的狀態字節。
4. 用CP 243-2 的命令診斷AS-i從站
通過CP 243-2的命令代碼16#30,讀取的AS-i從站列表LAS、檢測到的AS-i從站列表LDS、*性的AS-i從站列表LPS和AS-i規范的標志。程序與圖12-15~圖12-17基本上相同,ASIx_WRITE的 Bank 值為 2,僅需要發送一個字節的命令代碼 16#30。用ASIx_READ 讀取的數據存放在DB_Ptr*的V存儲區,前18個字節在Bank2,后10個字節在Bank3。Bank2的0號字節為16#30,1號字節為命令狀態字節,2~9號字節為LAS,10~17號字節為LDS。Bank3的0~7號字節為LPS。每個從站占二進制的一位,0號從站在1個字節的高位,7號從站在1個字節的低位。
Bank3的8號和9號字節為標志字節,標志的詳細信息請查閱CP243-2的用戶手冊。
6ES72111BE400XB0 CPU 1211C AC/DC/Rly,6輸入/4輸出,集成2AI 6ES72111AE400XB0 CPU 1211C DC/DC/DC,6輸入/4輸出,集成2AI 6ES72111HE400XB0 CPU 1211C DC/DC/Rly,6輸入/4輸出,集成2AI 6ES72121BE400XB0 CPU 1212C AC/DC/Rly,8輸入/6輸出,集成2AI 6ES72121AE400XB0 CPU 1212C DC/DC/DC,8輸入/6輸出,集成2AI 6ES72121HE400XB0 CPU 1212C DC/DC/Rly,8輸入/6輸出,集成2AI 6ES72141BG400XB0 CPU 1214C AC/DC/Rly,14輸入/10輸出,集成2AI 6ES72141AG400XB0 CPU 1214C DC/DC/DC,14輸入/10輸出,集成2AI 6ES72141HG400XB0 CPU 1214C DC/DC/Rly,14輸入/10輸出,集成2AI 6ES72151BG400XB0 CPU 1215C AC/DC/Rly,14輸入/10輸出,集成2AI/2AO 6ES72151AG400XB0 CPU 1215C DC/DC/DC,14輸入/10輸出,集成2AI/2AO 6ES72151HG400XB0 CPU 1215C DC/DC/Rly,14輸入/10輸出,集成2AI/2AO 6ES72171AG400XB0 CPU 1217C DC/DC/DC,14輸入/10輸出,集成2AI/2AO