也可以將西門子400plc存儲(chǔ)卡數(shù)據(jù)的地址值傳入子程序(&VB100)
產(chǎn)品簡(jiǎn)介
詳細(xì)介紹
西門子400內(nèi)存卡/參數(shù)/選型
也可以將西門子400plc存儲(chǔ)卡數(shù)據(jù)的地址值傳入子程序(&VB100)
當(dāng)OB1調(diào)用西門子400plc存儲(chǔ)卡時(shí),INPUT1的數(shù)值被傳入FIRST,INPUT1和FIRST的數(shù)據(jù)類型必須匹配。在程序中使用符號(hào)名時(shí),程序編輯器首先檢查有關(guān)POU的局部變量表,然后檢查符號(hào)表/全局變量表。如果某符號(hào)名在兩處都沒(méi)有定義,程序編輯器則將其視為全局符號(hào),程序編輯器一條綠色波浪狀下劃線,并將名稱括在雙引號(hào)中,例如“UndefinedLocalVar”(未定義的局部變量)。如果后來(lái)對(duì)該符號(hào)名賦了值,則程序編輯器不會(huì)自動(dòng)再次讀取局部變量表并修改它。為了將該西門子400plc存儲(chǔ)卡符號(hào)名作為局部變量使用,必須手工刪除程序代碼中的引號(hào),并在符號(hào)名前插入#號(hào),例如改為#UndefinedLocalVar。各子程序多可調(diào)用16個(gè)輸入/輸出參數(shù),如果超出16個(gè),將返回錯(cuò)誤。選擇希望的變量類型所在的行,并在名稱域中鍵入變量名稱,在數(shù)據(jù)類型域中鍵入數(shù)據(jù)類型。不需在局部變量表中的變量名稱前加#號(hào),#號(hào)只在程序代碼中的局部變量名之前使用。局部變量名可包含數(shù)字、字母和下劃線(_),也可以包含擴(kuò)展字符(ASCII128~255)。
Flash存儲(chǔ)卡具有掉電保持功能,即CPU在斷電狀態(tài)下,程序仍然可以保持在Flash存儲(chǔ)卡中,下次PLC的CPU再次上電時(shí),程序可以繼續(xù)使用;而RAM存儲(chǔ)卡不具備這種功能,如果CPU斷電,則程序丟失。而一般情況下,為了避免因?yàn)镃PU斷電而造成的程序丟失,PLC可以裝入電池,這樣就可以做到程序在CPU斷電時(shí)保存下來(lái)。
2. 程序下載
Flash存儲(chǔ)卡在下載程序時(shí),需要用戶在編程軟件中選擇“Blocks”->“PLC”->“Load user program to memory card”,可以將程序保存在存儲(chǔ)卡中,需要注意的是,F(xiàn)lash存儲(chǔ)卡只能下載完整的用戶程序,并且下載時(shí)需要CPU停機(jī)。而RAM卡下載程序較為方便,在CPU運(yùn)行時(shí)就可以下載程序,用戶在編程軟件中直接點(diǎn)“Download”即可。
用戶可以將Flash存儲(chǔ)卡和RAM存儲(chǔ)卡理解為電腦的硬盤和內(nèi)存,這里Flash存儲(chǔ)卡相當(dāng)于硬盤,RAM存儲(chǔ)卡相當(dāng)于內(nèi)存,用戶可以根據(jù)自己的實(shí)際需求進(jìn)行選擇。
西門子S7400存儲(chǔ)卡RAM4M/8M/16M/64/M 長(zhǎng)結(jié)構(gòu)形式4-64 Mbyte
訂貨號(hào):
RAM,64 K 6ES7 952-0AF00-0AA0
RAM,256 K 6ES7 952-1AH00-0AA0
RAM,1 M 6ES7 952-1AK00-0AA0
RAM,2 M 6ES7 952-1AL00-0AA0
RAM,4 M 6ES7 952-1AM00-0AA0
RAM,8 M 6ES7 952-1AP00-0AA0
RAM,16 M 6ES7 952-1AS00-0AA0
RAM,64 M 6ES7 952-1AY00-0AA0
FLASH-EPROM,64 K 6ES7 952-0KF00-0AA0
FLASH-EPROM,256 K 6ES7 952-0KH00-0AA0
FLASH-EPROM,1 M 6ES7 952-1KK00-0AA0
FLASH-EPROM,2 M 6ES7 952-1KL00-0AA0
FLASH-EPROM,4 M 6ES7 952-1KM00-0AA0
FLASH-EPROM,8 M 6ES7 952-1KP00-0AA0
FLASH-EPROM,16 M 6ES7 952-1KS00-0AA0
FLASH EPROM,32 M 6ES7 952-1KT00-0AA0
FLASH EPROM,64 M 6ES7 952-1KY00-0AA0
西門子S7400存儲(chǔ)卡RAM4M/8M/16M/64/M 長(zhǎng)結(jié)構(gòu)形式4-64 Mbyte
通信資源數(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)連接資源
- 調(diào)用 PUT/GET 指令的CPU 占用主動(dòng)連接資源數(shù);相應(yīng)的遠(yuǎn)程 CPU 占用被動(dòng)連接資源。
2、8 個(gè)PUT/GET 主動(dòng)連接資源
- S7-200 SMART CPU 程序中可以包含遠(yuǎn)多于 8個(gè)PUT/GET 指令的調(diào)用,但是在同一時(shí)刻zui多只能激活 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í)刻zui多能對(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斷電或者物理斷開(kāi)。
3、8 個(gè)PUT/GET 被動(dòng)連接資源
- S7-200 SMART CPU 調(diào)用 PUT/GET 指令,執(zhí)行主動(dòng)連接的同時(shí)也可以被動(dòng)地被其他遠(yuǎn)程 CPU 進(jìn)行通信讀寫。
- S7-200 SMARTzui多可以與被8個(gè)不同 IP 地址的遠(yuǎn)程 CPU 進(jìn)行 建立被動(dòng)連接。已經(jīng)成功建立的連接將被保持,直到遠(yuǎn)程 CPU斷電或者物理斷開(kāi)。
指令編程舉例
在下面的例子中,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ò)配置見(jiàn)圖 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 開(kāi)始的 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 地址開(kāi)始
- d.定義通信數(shù)據(jù)長(zhǎng)度
- e.定義 CPU1 的通信區(qū)域,從 VB100 地址開(kāi)始
西門子4-64 Mbyte
定義 PUT 操作
- a. 選擇操作類型,PUT 或 GET
- b. 通信數(shù)據(jù)長(zhǎng)度
- c. 定義遠(yuǎn)程 CPU 的 IP 地址
- d. 本地 CPU 的 通信區(qū)域和起始地址
- e. 遠(yuǎn)程 CPU 的 通信區(qū)域和起始地址
圖 4 定義 GET 操作
- a. 選擇操作類型,PUT 或 GET
- b. 通信數(shù)據(jù)長(zhǎng)度
- c. 定義遠(yuǎn)程 CPU 的 IP 地址
- d. 本地 CPU 的 通信區(qū)域和起始地址
- e. 遠(yuǎn)程 CPU 的 通信區(qū)域和起始地址
4、定義PUT/GET 向?qū)Т鎯?chǔ)器地址分配(見(jiàn)圖 5)。
圖 5 分配存儲(chǔ)器地址
注: 點(diǎn)擊“建議”按鈕向?qū)?huì)自動(dòng)分配存儲(chǔ)器地址。需要確保程序中已經(jīng)占用的地址、PUT/GET 向?qū)е惺褂玫耐ㄐ艆^(qū)域與不能存儲(chǔ)器分配的地址重復(fù),否則將導(dǎo)致程序不能正常工作。
5、在 圖 5 中點(diǎn)擊“生成”按鈕將自動(dòng)生成網(wǎng)絡(luò)讀寫指令以及符號(hào)表。只需用在主程序中調(diào)用向?qū)傻木W(wǎng)絡(luò)讀寫指令即可(見(jiàn)圖 6)。
圖 6 主程序中調(diào)用向?qū)傻木W(wǎng)絡(luò)讀寫指令
PUT/GET 向?qū)Ю?/p>
西門子4-64 Mbyte
西門子400內(nèi)存卡/參數(shù)/選型
也可以將西門子400plc存儲(chǔ)卡數(shù)據(jù)的地址值傳入子程序(&VB100)