2014年1月19日 星期日

WinAC-RTX (F) & ET200SP Distributed IO


WinAC-RTX (F) & ET200SP Distributed IO  



         WinAC RTX (F) 為SIEMENS 即時軟體邏及控制器,可運行在標準 Microsoft Windows 作業系統與嵌入試系統,如
標準版本 Windows XP pro ,Windos7 ,崁入試版本 WES 2009, WES 7.

        硬體部分可以搭配各種樣化工業電腦以與無風散,硬碟裝置轉子裝置的嵌入試工業電腦,可達到運轉24hr 免維護, 耐溫55度的應用環境.

     在於IPC 工業主機部分,另外具備2組slot 可安裝PICe 板卡,除了PLC 的模組應用速度外,另可挑戰PC based 板卡高階應用,如高速類比取樣分析,高速運動控制卡. (可搭載脈衝/EtherCAT/SSC NET/ Mechatrolink /或其他網路型運動控制卡)

More information please late...

2012年4月29日 星期日

ET200SP 分佈式IO

ET200SP 分佈式IO 介紹影片:
特色:

1.) 採用絕對即時工業層乙太網路 Profinet 網路介面,內建2組 Profinet 乙太網路接口.
2.) 最大IO Max 點數, 1024 point.
3.) 每片模組支援熱插拔.
4.) 高速週期掃描更新時間.
5) 體積極小化,配線採用快速插線方式,免使用工具,例如螺絲起子.
6) 支援高解析類比AI 與AO模組,以及最小DI 點數4點.
7) 完整的硬體辨識區別方式,採用制定顏色標籤分辨模組種類,以及配線端子規格.
8) 具備完整的認證規格如CE,UL等等.
9.) 未來支援 safety 可執行 大量安全點數需求,成本的 safety 邏輯控制,及變頻器控制,馬達啟動衝啟動器機種.
9) 低價價格,德國製造.
10.)台灣2012發行販售.

2012年4月14日 星期六

Safety 的終極變形金剛-PROFIsafe




....Safety 的終極變形金剛... SIEMENS PROFIsafe..待續..















2012年1月20日 星期五

Ethernet ISO/OSI reference model

Ethernet ISO/OSI reference model:

The “Open Systems Interconnection” (OSI) layer model is a reference model for data transmission in networks named after a working group of the International Standardization Organization ISO.

The model consists of seven layers:
Two hardware-oriented layers (layers 1 and 2), two transmission-oriented layers (layers 3 and 4) and three application-oriented layers (layers 5, 6, and 7).

As a reference model, OSI is not a recognized standard. Many products in telecommunications and in networking use the ISO/OSI model as a foundation.

The 7 layers are as follows:

Physical layer (layer 1):
The physical layer defines the bit transmission of data via the network at the cable and connector level.

Data-link layer (layer 2):
The data-link layer groups data into frames and adds information required for passing on the frames. Layer 2 is responsible for transporting data frames from node to node and for error correction.

Network layer (layer 3):
The network layer controls the routing of the frames in conjunction with layer 2. It handles the addressing of the frames and how they are routed in the network. An example of this layer is the Internet protocol.

Transport layer (layer 4):
Coordinates the transmission of data packets.
It checks whether all packets have been received completely. A typical example of layer 4
is the Transmission Control Protocol (TCP).

Session layer (layer 5): The session layer establishes a connection between the processes running on different hosts. It is responsible for opening a “Session” and for a continuous dialog of requests and responses between the individual applications.

Presentation layer (layer 6):
The presentation layer is responsible for converting data into the format required for the specific application.
This layer also compresses texts and converts various codes used by the partners.

Application layer (layer 7):
The application layer is responsible for applications directly available to the user, such as file transfer or mail programs.
The user recognizes data transmission in the form of requests or responses.

2011年11月22日 星期二

OMRON SYSMAC NJ EtherCat motion control NJ5 - 2011/11 - Japna SCF Show

OMRON SYSMAC NJ EtherCat motion control NJ5 - 2011/11 - Japna SCF Show



圖一: OMRON SYSMAC NJ EtherCat motion control 展覽開幕說明會

在國際日本一年一度SCF自動化展中, OMRON NJ EtherCat motion control 成為展覽會場中,眾所矚目的焦點,在開幕說明會中,吸引了大批會場來自世界各國參觀訪客,到場聽取接收OMRON在運動控制應用領域,投入最大心力,研發出運行架構在實時工業乙太網路總線EtherCat協定上,並符合PLC Open 運動控制指令的NJ系列運動控制器!




圖二: NJ5 & NJ3(近期發售)



圖三: OMRON EtherCat Driver



圖四: OMRON EtherCat Driver & 伺服馬達 & 線性馬達



圖五: OMRON EtherCat inverter



圖六: OMRON EtherCat IO



圖七: OMRON EtherCat CCD



圖八: OMRON EtherCat Sensor




圖: OMRON EtherCat motion control NJ 多軸追隨同步運動控制 & EtherCat IO & EtherCat inverter & Ethernet/IP 控制動態展示show



接續...更新報導中

2011年10月12日 星期三

OMRON NJ5 - Always in control




圖一: OMRON SYAMAC Logo 變更設計,未來將以更圓滑的Logo面對用戶.







圖二: OMRON SYSMAC NJ5 motion control 外觀







影片: OMRON SYSMAC NJ5 motion control overview movies

Steve Jobs RIP

Steve Jobs RIP

keep looking, Don't settle.

Stay hungry, Stay foolish


2011年6月18日 星期六

Open Safety

Open Safety

首開先例,第一個開啟在所有工業乙太網路總線中,獨立的安全標準中的解決方案。








2011年1月11日 星期二

OMRON-Finction Block-[CX-P Finction Block 應用 ]

OMRON-Finction Block-[CX-P Finction Block 應用 ]

OMRON PLC 等待多時 Function Block 終於支援巢狀結構了,等於Function Block 包Function Block,不過在我個人使用歐洲PLC的概念我把他當成Function 包Function 與Function Block,其中當然也支援ST語法開發模式與階梯圖語法開發模式,此兩種皆可以被包進去,Function Block 調用記憶體的部分仍需要再次調整.



圖一: 主FC (第一層-Pump_1)



圖二: 主FC (第二層-Pump_1 的啟動模式)



圖二: 主FC (第二層-Pump_1 運轉統計)

2010年6月27日 星期日

2010年6月22日 星期二

SIEMENS-WinCC-[ PROCESS/SCADA/POWER SCADA 應用系列軟體 ]

SIEMENS-WinCC-[ PROCESS/SCADA/POWER SCADA 應用系列軟體 ]



SIMATIC®WinCC®基於 Windows 平台,能為工業領域提供完備的
監控與數據采集(SCADA)功能,涵蓋單用戶系統直到支援雙備援
伺服器和遠端 Web Client機的解決方案的多用戶系統。WinCC 是跨公
司垂直整合交換訊息的基礎,它採用了工廠智能,可以實現更大
程度的生產過程的透明性。
WinCC 基本系統是各種不同應用的核心。它不僅包含開放的編寫程式VBS/C
界面,還包含大量已經開發了的 WinCC 選件(由西門子 A&D 完
成)和 WinCC 附加件(由西門子內部和外部合作方完成),用於
給用戶提供各種功能的擴展。
SIMATIC WinCC V7.0 大大增強了基本系統及其選件的功能。
• WinCC 基本系統的創新:
- 具有 Windows Vista 主題風格和外觀的營運界面。
- 全新控件︰趨勢、報警、配方等。
- 基於對象的編程模式,面板技術。
- 免費整合進階用戶管理工具 SIMATIC Logon。
- 增強的安全性,支援 Windows 防火牆和病毒掃描。
• WinCC 工廠智能選件的創新:
- WinCC/DataMonitor,現下支援報表發布和網頁定製功能。
- 全新選件︰WinCC/DowntimeMonitor,可以檢測並分析機器和工廠的停機時間。
- 全新選件︰WinCC/ProcessMonitor,管理資訊系統,支援線上質量分析。
- WinCC/Connectivity Pack,提供訪問分佈式系統中數據的方便界面。
- 全新選件︰WinCC/Connectivity Station,任何一台 Windows 計算機都可以透過 Connectivity Station 訪問分佈式系統的數據。
• 針對 WinCC 選件的更新:
- WinCC/Web Navigator,集成在全廠集中用戶管理系統中的Web Client端。
- WinCC/Central Archive Server,集中處理並提供數據歸檔。
- WinCC/Audit,整合項目版本管理工具。
- 新特點︰WinCC/Change Control,可以跟蹤組態的更改 WinCC/Redundancy,可以同步消息狀態和內部變數。
- 新特點︰SIMATIC Maintenance Station,用於系統的高效維護。




圖一: 使用者定義介面



圖二: 使用者定義數據分析圖形



圖三: 使用者定義製程分析KPI



圖四: WinCC/ConnectivityPack︰透過 OPC模型 & WinCC OLE-DB 訪問 WinCC架構

WinCC/Connectivity Pack V7.0:

可以方便地訪問分佈式系統中的數據,Connectivity Pack 是為了外部電腦或應用程式方便
的訪問 WinCC 歸檔數據、製程值和報警訊息。

外部應用程式可以使用 WinCC OLE-DB(僅適合製程值)、OPC DA、OPC A&E 和 OPC HAD 等常規模式,透過Connectivity Pack 有選擇性地訪問 WinCC 伺服器或中央檔案伺服器上的 WinCC 製程數據(報警、製程值和用戶數據等)。這些數據可以採用標準工具進行分析和進一步處理,或者直接用於更高一級的資訊系統(MIS、MES、ERP 等)。

新版本中,改善了 WinCC 對 OLE-DB 的訪問,簡化了分布式系統的編寫程式工作。現今從 WinCC 多Client端,透過OLE DB,可以透明地訪問分佈式系統所有過程數據,包括 WinCC 雙備援系統和中央歸檔伺服器的分佈式系統。

在歸檔變數尋址時,僅需使用符號名稱即可。

WinCC/Connectivity Station:
可以從任何一台 Windows 電腦訪問 WinCC 數據
如果不需要進行製程監控,可以將任何一台 Windows電腦組態為 WinCC 的 Connectivity Station,這台計算機中無須安裝 WinCC。

Connectivity Station 的規劃可以採用 SIMATIC NCM-PC
或者 SIMATIC Manager 完成。

筆者體驗後果然,以及察看到周邊附屬軟體,只能說果然是夠份量得獎的軟體,用在連續製程自動化上是不錯的全體解決方案.

待續~~

2010年6月3日 星期四

SIEMENS-Safety & PC-Base 6/3日研討大會-[ 閒談-winAC即時核心與Live Demo ]

SIEMENS-Safety & PC-Base 6/3日研討大會-[ winAC即時核心與Live Demo ]

本次的PC-BASE研討大會中,筆者被征召去幫忙撰寫Deom程式及設置我製作的系統,雖然讓生活很忙碌,也淋著大雨東奔西跑,熬夜趕工,架設系統,回家後倒頭就直接昏睡到底,雖然很辛苦及快爆肝了,老是覺得身體怪怪的,並且會後結束還要轉場到台中台南舉辦,但能夠把訊息分享業界先進夥伴,把歐美的訊息帶給台灣,讓IPC/PAC (PLC+PC) solution解決方案更加的資訊OPEN化,也是對台灣自動化一絲絲的貢獻,讓我們台灣能夠更前進,帶給後代更好的競爭環境,這樣就很開心了,當然也不同於在場幾家發表Process案例系統的經銷商了,從在場看官表情看的出來,畢竟Process 使用PLC就遊刃有餘,更大的分散風險架構才是符合Process製程精神,當然在這短短幾個月日以繼夜的付出下,在談話內容當中就已分出,某外商大企業德國顧問沃夫根,課後休息時間透過人轉告,對我講了令我驚訝的話,讓我愣住了,得到了更符合IPC/PAC的大膽應用訊息~!!

應用介紹:(這是筆者這輩子中第一次使用的IPC/PAC)

1.) S7-mec 系統 跟plc長的一模一樣,但他的核心是西門子的pc 核心,也使用Intel Core Duo cpu 使用Windows XP embedded 嵌入式os,giga的乙太網路介面,使用Intel 高階晶片,使用防震,防熱工業cf卡,可在擴充CF/SD/USB介面,PCI 104 3片,裡面我把他用力了跑了50 PID 多種應用程式,和大量的data report 處裡系統介面,使用vb.net 和c#.net 語法處裡,與windows時間同步功能,及winAC real time核心處裡器還是穩定跑了1ms執行速度,只可惜我來不及把承載效能的資訊PO上,這強而有力的心臟,真是讚嘆!!各位partner,你們有福了!!

筆者如果有時間會再用力挑戰100 PID程式看看.

我只能說這是投在Process 製程當中,另外在搭配不斷電專用PID卡,如果我在開啟Redundancy Function我會給他拍拍手,抱著他睡覺了!!



A.) s7-mec中我使用的程式

使用了wcf圖控系統 與vb.net / c#.net 整合介面,微軟.net的語法,我真的愛上它了,我也感謝我另一個業界朋友Colin Tsai大師的灌頂加持,真是良師益友,不過我們倆都是窮小子哈哈,互相扶持.




應用介紹:(這外形和配色質感我只能說他是我美麗的便當盒,難怪我三餐都面對他)

2.) 西門子SIMATIC IPC427C / Microbox427C 這一個程式真的是一個巧遇,正好我在協助日本體系的儀控製造廠商撰寫這支程式,剛剛好撰寫完成遇上了研討會,就整組給它搬過來了,這系統當中使用 SIEMENS Microbox + winAC real time核心,使用12M 的通訊速度,有別於傳統通訊架構115200的速度,通過Profibus總線,經過Profibus Gateway,撰寫Protocol Frame 去整合日本的儀表,讀寫溫控訊息,由於各大科技大廠,都規定使用profibus總線居多,當然我也要多多幫忙,幫忙這儀控製造商,上這條紫色很貴的總線,讓東西方融合一下!!.





a.) 系統中的畫面winAC Real time即時核心的控制軟體,和wcf圖控軟體(雖然簡單但精隨意思到了,其他的轉移給儀控商了,由他們任意自由用力的發揮了,也祝福他們在高精度要求的科技廠上遍地開花)



b.) 我思考了一下,站在使用者立場想讓大家更好用,因為我看了日本的程式,發現很攏長,重複使用率不高,於使我把他拆了,把程式最佳精簡化,用了scl(類似Pascal程式語言,符合IEC61131-3國際規範語法)語法讓程式變的很短,更加清楚簡單,所以我把程式封裝了,變成Function block,在會展當中,單然也是open的,供大家和各經銷商參考,筆者功力實在粗淺愚笨,程式寫的不好,見笑了~卡拍謝!!



(此原始碼再我的Blg 別的角落可以發現的到,拆解完之後原本日本的露露長的程式便的很短,也變的不同很清楚,可以讓我的夥伴任意大改重複使用,相片中是最後被我包成FB的監控長相,記憶體位置也可慮到可以隨模組任意配置,所以把記憶體位置也規劃拉出去了!!,小東西,大方便,重複開發利用的精神在提升,或許隨著儀控商
會很多人拿去用,散佈到世界各地去,那真的造福太多人了~如果是這樣真的很開心!!)

應用介紹:(IPC+影像辨識系統)

3.) 西門子SIMATIC IPC427C / Microbox427C 與全球視覺系統領導廠商Cognex 美國康耐視視覺系統,搭載一起,應用於太陽能晶圓對位,破片檢測,及尺寸量測,1D/2D讀碼/文字辨識,比對,使用歐美流行的POE聵電技術,精簡化配線,只需配一條線,就完成跟CCD的佈線,並且使用乙太網路即時通訊總線Profinet同時傳輸tcp/ip 影像,資料封包與winAC交流的資訊,資訊傳輸速度達1ms刷新擷取,當然如果Profinet 也可搭載IRT模式,速讀可達微秒,當然錢錢可以打造一切,那速度為什麼可以照麼快,當跳脫乙太網路傳輸OSI 7層規則,及搭載實體MAC Address 就可以實現,Windows上的winAC-RTX即時核心,穩定的時序,就可以實現乙太網路RT傳輸.



a.) 用於太陽能晶元的對位,及破片檢查,檢查可達1個pixel,那精度隨CCD而變,系統驅動部分因為太長了,來不及搬,因此收掉了~


b.) CCD改採模式:使用對位座標定位回報功能,和量測尺吋,讀碼,文字辨識功能,物體辨識,功能,由於Cognex康耐視CCD開放的系統架構,提供API SDK讓我有機會選擇打造我需要的介面,與西門子即時核心winAC-RTX,非同步資料交換1ms 速度實現在windows上,當然你也可以選擇他現有的介面,不需要打造界面就可以使用的軟體,他然他也有出CCD專用的小人機介面可以接4 支ccd使用poe網路聵電技術節省配線,最令我欣賞的是他的io端子臺,也是使用poe聵電技術,同時供電給CCD,又同時傳輸資料及io控制.







身旁的就是臨時收到通知要去支援寫程式,短短1~2天,硬擠把他擠出來的,還好之前就一直建程式模型了,不然我只能被內心懲罰,無法帶給會場所有人資訊了,內心的罪惡自責慚愧.



後面這些東西我真的只能說,歐州科技領導帶動全球趨勢,連PC-Base都上了Safety標章及規範了,等於是全球唯一商品,並且在siemens的通訊總線上,Profinet & Profibus 也可以混合使用,跑一般plc資訊,和Safety plc資訊,這樣的理念大大大OPEN 架構,等於使用者買家,可以在一條總線上跑一般的plc,跑3rd Device 跑等時同步運動控制,跑Safety 資訊,真的的難怪德國人老外跟我解釋open總線開放式的定義,而不只單單會員的開放,所以siemens 2條總線Profinet & Profibus 解決一切,符合老外個性,大方,貴一點沒關係,方便好用理想就好.真是世界強國做風,很強勢,不過我很喜歡身旁的那一顆雷射區域掃瞄,當然單價也是20~30萬,我也很欣賞上次來台灣演講的那幾位德國萊茵總部Safety核考通過的技師,畢竟是全球榜上有名認可,真的厲害,欣賞程度只能說肝腦塗地了.

2010年6月1日 星期二

[SIEMENS SCL FB ] 使用日本神港Profibus GateWay 發送protocol packet整合溫度表封裝FB語法 應用介紹-[SCL-FB][IEC 61131-3]

protocol packet封裝FB語法 應用介紹-[SCL-FB][IEC 61131-3]

*開發模式需在SCL原代碼之下開發封裝

(*********************************************************
作者: PeterShen
TEL: 0921-945-070
E-MAIL:fa.net.petre@gmail.com
日期: 2010/06/01
功能: IFP100_Procedure_SP
版本: V1.00
備註: sp值寫出
修改:
***********************************************************)


FUNCTION_BLOCK IFP100_Procedure_SP

//know_how_protect //程式保護

//PI INPUT BUFF
VAR_INPUT
ID:BYTE; //Address
SP:WORD; //SP_Data
SW:BOOL; //CLOCK_通訊寫入旗標
END_VAR

//PQ OUTPUT BUFF
VAR_OUTPUT
OUT_BYTE1:BYTE; //Information
OUT_BYTE2:BYTE; //Address
OUT_BYTE3:BYTE; //Sub address
OUT_BYTE4:BYTE; //Command type
OUT_WORD5:WORD; //Data item
OUT_WORD6:WORD; //Data
END_VAR

BEGIN

IF SW = TRUE THEN
OUT_BYTE1:=B#16#1;
ELSE
OUT_BYTE1:=B#16#81;
END_IF;

OUT_BYTE2:=ID; //Address
OUT_BYTE3:=B#16#20; //Sub address
OUT_BYTE4:=B#16#50; //Command type
OUT_WORD5:=B#16#1; //Data item
OUT_WORD6:=SP; //Data
;
END_FUNCTION_BLOCK




(*********************************************************
作者: PeterShen
TEL: 0921-945-070
E-MAIL:fa.net.petre@gmail.com
日期: 2010/06/01
功能: IFP100_Procedure_PV
版本: V1.00
備註: pv值讀取
修改:
***********************************************************)


FUNCTION_BLOCK IFP100_Procedure_PV
//know_how_protect //程式保護

//PI INPUT BUFF
VAR_INPUT
ID:BYTE; //Address
SW:BOOL; //CLOCK_通訊寫入旗標

IN_WORD6:WORD; //PV_Data
END_VAR

//PQ OUTPUT BUFF
VAR_OUTPUT
OUT_BYTE1:BYTE; //Information
OUT_BYTE2:BYTE; //Address
OUT_BYTE3:BYTE; //Sub address
OUT_BYTE4:BYTE; //Command type
OUT_WORD5:WORD; //Data item
OUT_WORD6:WORD; //Data
END_VAR

BEGIN

IF SW = TRUE THEN
OUT_BYTE1:=B#16#1;
ELSE
OUT_BYTE1:=B#16#81;
END_IF;

OUT_BYTE2:=ID; //Address
OUT_BYTE3:=B#16#20; //Sub address
OUT_BYTE4:=B#16#20; //Command type
OUT_WORD5:=B#16#80; //Data item
OUT_WORD6:=B#16#00; //Data
;
END_FUNCTION_BLOCK

*原代碼開發環境




*SP原代碼封裝後成FB結果




*PV原代碼封裝後成FB結果

2010年4月13日 星期二

淺談PAC -[ PAC Part 1]

PC+PLC的解決方案-[PAC]

以下是筆者個人自己的見解,進請批評或指教,感謝.

寫這篇文章之前,我想說一段自己的故事,身在自動控制領域9年的人生中,在25歲退伍的時候,筆者一直鎖定觀察PAC市場的發展,在工作中使用各大日系PLC非常的順手,順勢也對自己人生佈局了PC程式語言撰能力,和英文語言能力補上過去消耗自己人生的專業知識.

在這段時間當中,因為不斷面對應用例的挑戰,使用PLC和HMI及其他Device解決各種應用例,其中體會到發現越來越難處理了,就算解決了自己也不滿意這樣的架構,也更深刻體會到PLC的封閉性,但由於常常聽到PLC與PC對抗的正負面消息,於是正式轉向PAC架構的解決方案,把PLC和PC兩大特色與問題綜合掉的商品.

由於因為本土廠商就有再生產PAC商品,所以去了解其中特性,但覺得很可惜,因為遷就在硬體平台零組件方面開發與發展,阻礙了PAC商品的特性開發美意,本來是個美好的夢想產品,卻變成有待開發改版升級的產品,反觀歐美市場,卻發現大膽的設計,讓PAC有更大想像力和發揮空間,能發揮多大的力量和價值,全都由使用者的應用開發團隊自己掌握,應用上可以創造很一般的應用例,也可以創造讓人贊嘆的應用例,其中的發揮空間,非常的強大,正好於是剛好遇上金融大海嘯,企業的解體與改組,我決定放下一切,改變自己的人生,走別人不敢走的路,抱著虛心請益PAC的心,投入PAC的世界,我也沒想到一個做PLC背景的人有這麼大的勇氣,走進須具備PC與PLC兩大能量和在亞洲市場是處女第未開發的商品.

筆者會在斟酌時間介紹 PAC軟體核心揭開更多知識分享給大家

以下即時核心系統品牌,全都符合IEC 61131-3語法規範,俗稱OPEN PLC,
[CoDeSys, TwinCAD, KW-Soft, winAC]

這些核心系統,都受國內外知名控制器,互相爭奪合作,加持在自己的商品硬體上,並且提供更優於PLC的解決方案,不管是在速度性能,應用例,整合度,都有更上一層樓的表現和發揮空間.

勇於改變自己或許就是機會!!

PeterShen

2010年4月5日 星期一

[c#] 事件2Human 應用介紹-[Event 2Human ]

事件 應用介紹-[Event]

//人員 事件類別
namespace even_tst
{
delegate void weightEvent(int weight);

class Human
{
private int 身高;
private int 體重;
public static int 人數;

public event weightEvent Wei;

public Human()
{
身高 = 180;
體重 = 65;
人數++;
}
public Human(int 身高,int 體重)
{
this.身高 = 身高;
this.體重 = 體重;
人數++;
}


//存取子方式-設定重量並判斷
public int Weight
{
get
{
return 體重;
}
set
{
if (value > 100)
if (Wei != null)
Wei(value);

體重 = value;

}

}

public void 秀身高體重()
{
Console.WriteLine("身高={0},體重={1},人數={2}", 身高, 體重, 人數);

}

//設定重量並判斷
public void set體重(int x)
{
if (x> 100)
if (Wei != null)
Wei(x);

體重 = x;
}

}
}

///////////////////
//測試程式
//////////////////

namespace even_tst
{
class Program
{

static void Main(string[] args)
{
test事件1();
Console.ReadLine();
}

//
public static void test事件1()
{
Human p1 = new Human();

//指定 Danger事件由 TooFast方法來處理

p1.Wei += new weightEvent(Too胖);

p1.set體重(150);
p1.Weight = 200;
}

static void Too胖(int x)
{
Console.WriteLine("目前的體重 {0},超過 100,請減肥!!!", x);
}
}
}

[c#] 事件1Car 應用介紹-[Event 1Car]

事件 應用介紹-[Event]

//Car 事件類別
namespace even_car
{
//事件委派
delegate void DangerEvent(int Speed);

class Car
{
private int m_speed;

//宣告事件
public event DangerEvent Danger;

public int Speed
{
get
{
return m_speed;
}
set
{
if (value >200)
if (Danger != null)
{
Danger(value);
}

m_speed = value;
}
}
}
}

//測試程式
namespace even_car
{
class Program
{
static void Main(string[] args)
{
test事件();
Console.ReadLine();
}

static void test事件()
{
Car Benz = new Car();
//指定Danger事件由ToolFast方法來處理
Benz.Danger += new DangerEvent(ToolFast);
//車子速度屬性指定
Benz.Speed = 300;
}


static void ToolFast(int vSpeed)
{
Console.WriteLine("目前的速度{0},高過200,請減速!!", vSpeed);
}
}
}

2010年3月12日 星期五

SIEMENS-PC-Base MicroBox-[ Motion VS Vision 影片 ]

SIEMENS-PC-Base MicroBox-[ Motion VS Vision 應用例 ]
應用介紹:

系統利用西門子高速,極高運算力的PC-Base 系統,精簡配線通訊總線IO系統,搭配使用通訊總線運動控制器,與影像辨識1000fps 高速分色辨識自由落體,並使用同步非同步,winAC-RTX windows 即時核心技術,做完美的結合.

點選下方play鍵播放收看影片,並且注意分色轉盤的快慢速度變化.




(其中軟硬體精隨另行備載)

2010年1月26日 星期二

[c#] 如何處理例外錯誤狀況 應用介紹-[try-catch-finally]

如何處理例外錯誤狀況 應用介紹-[try-catch-finally]

1.) NG程式
//錯誤程式,程式直接當掉(原因被除數不得維0)

private void button1_Click(object sender, EventArgs e)
{
int a = 0;
int b =100/a;
Console.WriteLine("b is {0}", b);

Console.WriteLine("End of job ");
}

2.) 攔截NG程式

//try-catch-finally語法(程式不會當掉,但提報錯誤)
private void button2_Click(object sender, EventArgs e)
{
int a = 0;
try
{
int b = 100 / a;
Console.WriteLine("b is {0}", b);
}
//錯誤攔截訊息
catch (Exception err1)
{
Console.WriteLine("Divided by zero ");
Console.WriteLine("Divided by zero {0}",err1 );
MessageBox.Show(err1.ToString ());
}
//最後一定會執行
finally
{
Console.WriteLine("End of job");
}

3.) 自行判斷NG錯誤跳轉攔截錯誤訊息(throw 使用)

//自行判斷錯誤跳轉攔截錯誤訊息(程式不會當掉,但提報錯誤)
private void button3_Click(object sender, EventArgs e)
{
int a = 100, b = 0;
try
{
if (b == 0)
{
//跳轉呼叫丟出錯誤
throw new ArithmeticException("Div by zero");
}
else
{
int c = a / b;
Console.WriteLine("Resoult is " + c);
}
Console.WriteLine("After divide2");
}
//
catch (ArithmeticException error)
{
Console.WriteLine("Caught!{0}",error );
}


===========================================
自訂錯誤類別-待續

2010年1月19日 星期二

[c#] String字串處理Split 應用介紹-[Split]

String字串處理Split 應用介紹-[Split]

//split
private void button_Click(object sender, EventArgs e)
{

char[] del = new char[] { ',','/' }; //多符號分離
//char del = ','; //單符號分離

string line = "datalog_mo1_0,2010/1/19下午 01:47:52,691,1,40197574905.7755";

string[] split = line.Split(del);

foreach (string s in split)
{
listBox1.Items.Add(s); //送到目標 listbox檢視
}

}

2010年1月2日 星期六

[SIEMENS SCL FC ] 由函式FC回傳演算計算 應用介紹-[SCL-FC ][IEC 61131-3]


由函式FC回傳演算計算 應用介紹-[SCL-FC][IEC 61131-3]


FUNCTION SQUARE : INT //帶回傳值


(*********************************************************

This function returns as its function value the square of the

input value or if there is overflow, the maximum value that

can be represented as an integer.

***********************************************************)


//know_how_protect //程式保護


//變數宣告in類型
VAR_INPUT

value : INT;

END_VAR


//程式開始
BEGIN


IF value <= 181 THEN

SQUARE := value * value; //計算含式

ELSE

SQUARE := 32_767; // overflow, 設定最大值並回傳當成錯誤碼

END_IF;


END_FUNCTION