通化西門子專業(yè)技術(shù)團(tuán)隊PLC代理商 通化西門子專業(yè)技術(shù)團(tuán)隊PLC代理商
潯之漫 智控技術(shù)有限公司 上海詩慕自動化設(shè)備有限公司
本公司銷售西門子自動化產(chǎn)品,*,質(zhì)量保證,價格優(yōu)勢
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動,西門子以太網(wǎng)
西門子電機(jī),西門子變頻器,西門子直流調(diào)速器,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),價格優(yōu)勢,*,德國*
WinCC中定時器使用方法介紹
1、定時器功能介紹
2、腳本中定時器介紹
3、使用腳本實現(xiàn)更多定時器功能
3.1 整點歸檔
3.2 WinCC 項目激活時避免腳本初次執(zhí)行及延遲執(zhí)行腳本1 定時器功能介紹
WinCC 中定時器的使用可以使 WinCC按照的周期或者時間點去執(zhí)行任務(wù),比如周期執(zhí)行變量歸檔、在的時間點執(zhí)行全局腳本或條件滿足時打印報表。WinCC 已經(jīng)提供了一些簡單的定時器,可以滿足大部分定時功能。但是在有些情況下,WinCC 提供的定時器不能滿足我們需求,這時我們就可以通過 WinCC 提供的腳本接口通過編程的方式實現(xiàn)定時的功能,因為腳本本身既可以直接 調(diào)用 WinCC其他功能,比如報表打印,也可以通過中間變量來控制其他功能的執(zhí)行,比如通過置位/復(fù)位歸檔控制變量來觸發(fā)變量記錄的執(zhí)行。WinCC 提供了 C 腳本和 VBS 腳 本,本文主要以全局 C 腳本編程為例介紹定時功能的實現(xiàn)。
2 腳本中定時器介紹 既然在全局腳本中可以編程控制其他功能的執(zhí)行,那么首先看看全局腳本的觸發(fā):
圖1 腳本觸發(fā)器分類 如圖1所示: 腳本觸發(fā)器分為使用定時器和使用變量, 定時器又分為周期執(zhí)行和非周期執(zhí)行一次,比如每分鐘執(zhí)行一次腳本屬于周期執(zhí)行,2012年10月1日執(zhí)行一次屬于非周期執(zhí)行。 使用變量觸發(fā)腳本,即在變量發(fā)生變化時,腳本就執(zhí)行一次, 而變量的采集可以根據(jù)周期循環(huán)采集,或者根據(jù)變化采集,根據(jù)變化實際是1秒 鐘采集變量一次。
3使用腳本實現(xiàn)更多定時器功能
利用腳本自身的定時器, 可以通過在腳本中編程的方式實現(xiàn)更多其它定時功能。
3.1整 點歸檔
WinCC提供了變量歸檔,變量歸檔分為周期歸檔和非周期歸檔,不管是周期歸檔或非周期的歸檔,都又可以通過一些 變量或腳本返回值來控制歸檔, 比如:整點歸檔。下面的設(shè)置結(jié)合WinCC腳本,實現(xiàn)了在 整點開始?xì)w檔,歸檔五分種后停止歸檔,即每個小時僅歸檔前五分鐘的數(shù)據(jù)。
軟件環(huán)境:Windows 7 Professional Service Pack1 , WinCC V7.0 SP3
歸檔名稱:ProcessValueArchive
歸檔變量:NewTag
歸檔周期:1 分鐘
歸檔控制變量 startarchive
C腳本觸發(fā)周期:10秒
腳本代碼:
#Include "apdefap.h"
intgscAction( void )
{
#pragma option(mbcs)
#pragma code ("kernel32.dll");
void GetLocalTime (SYSTEMTIME* lpst);
#pragma code();
SYSTEMTIME time;
int t1;
GetLocalTime(&time);
t1=time.wMinute;
if(t1==00)
{
SetTagBit("startarchive",1);
}
if(t1==05)
{
SetTagBit("startarchive",0);
}
return0;
}
歸檔設(shè)置如圖2:
圖2 歸檔設(shè)置
同理,在以上腳本的基礎(chǔ)上做修改,可以實現(xiàn)在某個的時間點打印報表,只要在滿足觸發(fā)條件時調(diào)用下列函數(shù):
RPTJobPrint(" Myprintjob");
Myprintjob為 事先創(chuàng)建好的打印作業(yè)。
腳 本主要部分在于獲取系統(tǒng)當(dāng)前時間,下 面的腳本實現(xiàn)了獲取當(dāng)前時間并分別獲取年、月、日、時、分、秒、毫秒,星期幾的功能。
Varname1 到 Varname8 為 WinCC 內(nèi)部變量。若在 WinCC畫面上顯示時,由于默認(rèn) I/O 域的 格式為999.99, 要把 Varname1 的顯示格式改為9999。
#Include "apdefap.h"
intgscAction( void )
{
#pragma option(mbcs)
#pragma code ("kernel32.dll");
void GetLocalTime (SYSTEMTIME* lpst);
#pragma code();
SYSTEMTIME time;
GetLocalTime(&time);
SetTagWord("Varname1",time.wYear);
SetTagWord("Varname2",time.wMonth);
SetTagWord("Varname3",time.wDayOfWeek);
SetTagWord("Varname4",time.wDay);
SetTagWord("Varname5",time.wHour);
SetTagWord("Varname6",time.wMinute);
SetTagWord("Varname7",time.wSecond);
SetTagWord("Varname8",time.wMilliseconds);
return 0;
}
設(shè)置或讀取系統(tǒng)時間的函數(shù)如下:
SetSystemTime
SetLocalTime
GetSystemTime
GetLocalTime
系統(tǒng)中本地計算機(jī)時間和格林威治時間是有區(qū)別的。函數(shù)“SetSystemTime / GetSystemTime”用于設(shè)置或讀取格林威治時間。
函數(shù)“SetLocalTime / GetLocalTime”用于設(shè)置或讀取本地計算機(jī)時間。
兩種時間會因地理的時區(qū)不同而改變。兩個函數(shù)使用方法相 同。
3.2 WinCC 項目激活時避免腳本初次執(zhí)行及延遲執(zhí)行腳本
全局腳本在項目激活時,是要執(zhí)行一次的,在有些情況下,需要避免腳本執(zhí)行,就采用在腳本中去判斷。比如 可以創(chuàng)建 WinCC 內(nèi)部布爾型變量 flag,腳本如下:
#Include "apdefap.h"
intgscAction( void )
{
#pragma option(mbcs)
if ( GetTagBit("flag")==1)
SetTagWord("NewTag",1);//根據(jù)自己的需求編寫對應(yīng)代碼.
else
SetTagBit("flag",1); //Return-Type: BOOL
return0;
}
除了避免項目運行激活時觸發(fā)腳本執(zhí)行,我們 還可以通過 Sleep() 延遲腳步功能執(zhí)行,比如開機(jī)后五分鐘開始執(zhí)行腳本具體功能,代碼如下:
#Include "apdefap.h"
intgscAction( void )
{
#pragma option(mbcs)
- S7-1500 控制器產(chǎn)品系列中的入門級 CPU
- 適用于對程序范圍和處理速度具有中等要求的應(yīng)用
- 在具有集中式和分布式 I/O 的生產(chǎn)線上作為集中式控制器使用
- PROFINET IO IRT 接口,帶 2 端口交換機(jī)
- PROFINET I/O 控制器,用于在 PROFINET 上運行分布式 I/O
- 用于連接 CPU 作為 SIMATIC 或 非西門子 PROFINET I/O 控制器下的 PROFINET 設(shè)備的 PRIFINET 智能設(shè)備
- 等時同步模式
- 集成運動控制功能,可以控制速度控制軸和定位軸,支持外部編碼器
- 集成 Web 服務(wù)器,帶有創(chuàng)建用戶定義的 Web 站點的選項
- 運行 CPU 所需的 SIMATIC 存儲卡
- CPU 1511-1 PN 是經(jīng)濟(jì)型入門級 CPU,用于不連續(xù)生產(chǎn)技術(shù)中對處理速度和響應(yīng)速度要求不高的應(yīng)用。 CPU 1511-1 PN/DP 可以用作 PROFINET IO 控制器,也可以用作分布式智能設(shè)備 (PROFINET 智能設(shè)備)。 集成式 PROFINET IO IRT 接口設(shè)計為 2-端口交換機(jī)以便在系統(tǒng)中設(shè)立總線型拓?fù)洹?另外,CPU 通過易組態(tài)的塊提供全面控制功能,以及通過標(biāo)準(zhǔn)化 PLC-open 塊 提供連接至驅(qū)動器的能力。
The CPU 1511-1 PN 有:
- 功能強大的處理器:
該 CPU 的單條二進(jìn)制命令的命令執(zhí)行時間可低至 60 ns。 - 大容量工作存儲器:
150KB,用于程序;1 MB,用于數(shù)據(jù) - 采用 SIMATIC 存儲卡作為加裝存儲器;
允許實現(xiàn)例如數(shù)據(jù)日志和歸檔等其它功能 - 靈活的擴(kuò)展功能:
單層組持 32 個模塊(CPU + 31 個模塊) - 顯示器的功能為:
- 顯示概覽信息,例如,集成接口的 IP 地址、站名稱、高級別名稱、位置名稱等。
- 診斷信息顯示
- 模塊信息顯示
- 顯示可由用戶定義的徽標(biāo)
- 顯示器設(shè)置顯示
- IP 地址設(shè)置
- 日期和時間設(shè)置
- 選擇操作模式
- 復(fù)位 CPU 至出廠設(shè)置
- 禁用/啟用顯示屏
- 啟用保護(hù)級別
- PROFINET IO IRT 接口用于通過 PROFINET 進(jìn)行分布式 I/O 連接
- 性能
- 指令處理速度更快, 取決于 CPU 型號、語言擴(kuò)展和新的數(shù)據(jù)類型
- 由于背板總線速度顯著提高,CPU 的響應(yīng)時間縮短
- 功能強大的網(wǎng)絡(luò)連接:
每個 CPU 均標(biāo)配PROFINET IO IRT(2 端口交換機(jī))標(biāo)準(zhǔn)接口。
- 集成技術(shù)
- 通過標(biāo)準(zhǔn)化的塊 (PLCopen) 連接模擬驅(qū)動器和具有 PROFIdrive 功能的驅(qū)動器
- 支持速度控制軸和定位軸以及外部編碼器,各軸之間可實現(xiàn)位置精確的傳動
- 具有所有 CPU 變量的跟蹤功能,用于實時診斷和偶發(fā)故障檢測
- 全面的控制功能,例如,通過便于組態(tài)的塊可自動優(yōu)化控制參數(shù)實制質(zhì)量
- 集成安全功能
- 通過密碼進(jìn)行知識保護(hù),防止未經(jīng)授權(quán)讀取和修改程序塊
- 通過復(fù)制保護(hù),可綁定 SIMATIC 存儲卡的程序塊和序列號: 只有在將配置的存儲卡插到 CPU 中時,該程序塊才可運行。
- 4-級 授權(quán)理念:
也可以對和 HMI設(shè)備之間進(jìn)行的通信進(jìn)行限制。 - 操作保護(hù):
該控制器可以識別工程組態(tài)數(shù)據(jù)的更改和未授權(quán)傳輸。
- 設(shè)計與操作
- 顯示器,用于顯示概覽信息,
例如:站名、高級別名稱、位置名稱等概覽信息、診斷信息、模塊信息和顯示器設(shè)置。 - 顯示器上可能的操作:
設(shè)置 CPU 或者所連接以太網(wǎng)通信處理器的地址、設(shè)置日期和時間、選擇 CPU 的操作模式、復(fù)位 CPU 至默認(rèn)設(shè)置、禁用/啟用顯示器、激活保護(hù)等級。
- 集成式系統(tǒng)診斷
- 顯示屏上、TIA Portal 中、人機(jī)界面設(shè)備上以及 Web 服務(wù)器上以普通文本形式一致顯示系統(tǒng)診斷信息(甚至能顯示來自變頻器的消息),即使 CPU 處于停止模式也會進(jìn)行更新。
- 集成在 CPU 的固件中,無須進(jìn)行特殊組態(tài)
- SIMATIC 存儲卡(運行 CPU 所需)
- 用作插入式裝載存儲器,或用于更新固件。
- 還可用于存儲附加文檔或 csv 文件(用于配方和歸檔)
- 通過用戶程序的系統(tǒng)函數(shù)創(chuàng)建數(shù)據(jù)塊實現(xiàn)數(shù)據(jù)存儲/讀取
- 數(shù)據(jù)記錄(歸檔)和配方
- csv 格式配方文件存儲并歸檔在 SIMATIC 存儲卡中;
利用辦公工具或 Web 瀏覽器可以方便地訪問與設(shè)備相關(guān)的運行數(shù)據(jù) - 通過網(wǎng)頁瀏覽器或 SD 讀卡器,可方便地訪問機(jī)器的組態(tài)數(shù)據(jù)(與控制器之間的雙向數(shù)據(jù)交換)
- 編程
- 使用 STEP 7 Professional V12 或更高版本進(jìn)行編程
- 移植工具,用于 SIMATIC S7-300/S7-400 至 S7-1500 的移植操作,可以自動地完成大部分程序代碼的轉(zhuǎn)換工作。 記錄不可轉(zhuǎn)換的代碼,并可以手動進(jìn)行調(diào)整。
- STEP 7 V11 項目可在兼容模式下繼續(xù)和 STEP 7 V12 組合使用 。
- S7-1200 程序可通過復(fù)制/粘貼手段轉(zhuǎn)移至 S7-1500