專利名稱:遠程多點式監(jiān)測和時間進程分析裝置的制作方法
遠程多點式監(jiān)測和時間進程分析裝置
本發(fā)明涉及一種"遠程多點式監(jiān)測和時間進程分析裝置,,,該裝置連
接到PC(5)上,并由三個不同模塊組成,即:控制單元(UC), —個或多個 中繼單元(HUB)以及,帶有獨立傳感器的傳感單元(US)。
該遠程多點式監(jiān)測和時間進程分析裝置為操作者和機器之間在外部 的交互的制造進程提供自動的實時時間進程分析。而且當操作者與非完 全自動的機器,也就是指大多數(shù)的中小型工業(yè)投資中使用的機器,之間 的發(fā)生交互作用時該裝置也能很好的適用于任何重復的產生進程。
控制單元(UC),通過一個連續(xù)端口連接至PC (5),并通過一個由 兩根雙絞線和RJH連接器組成的網(wǎng)絡順序串聯(lián)一個或更多中繼單元 (HUB )。每個HUB能處理16個傳感單元(US ),安裝在生產機器上的 每個傳感單元最多能容納3個傳感器。
基本上,中繼單元(HUB)為初級網(wǎng)絡提供兩個端口,其中一個端 口連接控制單元(UC),另一個端口連接至另一個中繼單元(HUB)以 實現(xiàn)網(wǎng)絡的拓展。同時,該HUB還提供16個端口形成連接有傳感單元 (US)的二級網(wǎng)絡。
現(xiàn)有技術水平能夠為外部提供執(zhí)行全自動操作的機器,因此十分昂 貴,在大規(guī)模工業(yè)中應用有限。
同時也存在中小規(guī)模的工業(yè)投資中使用的自動化水平較低的機器, 其中,操作者在全程中起到主要作用,這樣由操作者操縱機器的組合導 致在整個生產進程中反復性和再現(xiàn)性的低下。這種類型的裝置硬件上不 可能實時傳遞自動時間進程分析數(shù)據(jù)。,需要手
動的將數(shù)據(jù)輸入電子數(shù)據(jù)表并手動記錄時間。產量必須被精確的分析到 每個機器(時間進程分析),并手動調整生產線以避免產生"瓶頸,,或為消 耗巨大的機器生成空閑時間。
時間進程分析表示
-提高效率的計劃;
-操作者次數(shù)和行為研究;
-設備及操作者生產潛力控制,并告知操作者及產品監(jiān)督與目標相 關聯(lián)的結果;
-關于試驗零件組和生產歷史的關系的生產目標研究; -生產計劃改進研究。
附圖的簡要說明
為使本發(fā)明得到更好理解,下面給出該遠程多點式監(jiān)測和時間進程 分析裝置的附圖詳細說明,如下
圖1為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"的整體結構框圖。
圖2為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中控制單元 (UC)部分的電路圖。
圖3為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電3各圖中A的細節(jié)圖。
圖4為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電i 各圖中B的細節(jié)圖。
圖5為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中C的細節(jié)圖。圖6為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中D的細節(jié)圖。
圖7為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中E的細節(jié)圖。
圖8為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中F的細節(jié)圖。
圖9為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中G的細節(jié)圖。
圖IO為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中H的細節(jié)圖。
圖11為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中I的細節(jié)圖。
圖12為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中J的細節(jié)圖。
圖13為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中K的細節(jié)圖。
圖14為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中L的細節(jié)圖。
圖15為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖2控制單 元(UC)電路圖中M的細節(jié)圖。
圖16為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置,,中圖2控制單 元(UC)電路圖中N的細節(jié)圖。
圖17為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中中繼單元 (HUB)部分的電路圖。
圖18為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖17中繼
單元(HUB)電路圖中A的細節(jié)圖。
圖19為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖17中繼 單元(HUB)電路圖中B的細節(jié)圖。
圖20為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖17中繼 單元(HUB)電路圖中C的細節(jié)圖。
圖21為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖17中繼 單元(HUB)電if各圖中D的細節(jié)圖。
圖22為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖17中繼 單元(HUB)電^各圖中E的細節(jié)圖。
圖23為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖17中繼 單元(HUB)電路圖中F的細節(jié)圖。
圖24為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖17中繼 單元(HUB)電路圖中G的細節(jié)圖。
圖25為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中傳感單元 (US)部分的電路圖。
圖26為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中A的細節(jié)圖。
圖27為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中B的細節(jié)圖。
圖28為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中C的細節(jié)圖。
圖29為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中D的細節(jié)圖。
圖30為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中E的細節(jié)圖。 圖31為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中F的細節(jié)圖。
圖32為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中G的細節(jié)圖。
圖33為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中H的細節(jié)圖。
圖34為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中I的細節(jié)圖。
圖35為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中J的細節(jié)圖。
圖36為本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中圖25傳感 單元(US)電路圖中K的細節(jié)圖。
具體實施例方式
如圖1至圖36中所示,本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝 置",描述了由4個基本部分(1)、 (2)、 (3)和(4)組成的基本功能構 造。這些基本組成部分被稱為以下部件控制單元(UC)(l),中繼單 元(HUB) (2),傳感單元(US) (3)和傳感器(4)。
下文中,控制單元(1 )將簡寫為UC ( 1 ),中繼單元(2)為HUB (2 )以及傳感單元(3 )為US ( 3 )。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"是由數(shù)據(jù)通信網(wǎng)絡組 成的,該數(shù)據(jù)通信網(wǎng)絡主要包括三個不同的模塊UC(l)、 HUB (2) 和US ( 3 )。
UC ( 1 )是一個微處理器控制的電子模塊,如圖2和圖3所示,并 包括兩個通4言端口,如圖2、 6、 10和13中所示,該通信端口的作用在
于根據(jù)PC發(fā)出的命令繼而連接,如圖l所示,至US(3),如圖25所示, 并通過子命令協(xié)議按照 一定順序從這些傳感器中收集數(shù)據(jù)。
HUB (2),如圖l和圖17所示,是對通信纟!某介進行判斷的電子模塊, 并允許UC ( 1 )與之連接并連接到任意US ( 3 )?;旧?,HUB ( 2 )有 兩個為初級網(wǎng)絡準備的RS-485型端子,連接器(2.5.1)與(2.5.2),如 圖21所示。其中一個RS-485端子連接至UC( 1 ),如圖6所示,RJ45PCI 型連接器(1.4.1)。另一端子能連接至另一HUB (2)以實現(xiàn)網(wǎng)絡拓展的 需要。
在本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中每個HUB包括16 個RS-485連續(xù)接口驅動器,如圖17和圖18中所示。來自US(3)的 線路組成了二級網(wǎng)絡,這些線路連接至連接器(2丄1)上。
US ( 3 ),如圖1和圖25所示,是一個微處理器控制的、可設定地址 的電子模塊,其功能在于執(zhí)行監(jiān)視和控制程序,并基于UC (1)的子命 令將數(shù)據(jù)反饋給UC ( 1 )。
該網(wǎng)絡結構是"半雙工"形式,即同 一時間段內只有一個通信方向并 且只有一個設備進行傳輸,所有的通信過程從UC (1)開始初始化。所 有通信過程由UC (1)進行初始化。在通過每個端口接收和轉發(fā)一個來 自UC ( 1 )的命令之后,HUB (2)進入等待狀態(tài)直至已接收該命令的特 定US (3)反饋一個信息。因此, 一個時間段內只有一個US (3)響應 這個命令,這樣在信道里不會出現(xiàn)流量擁塞。
所有的相互連接是使用RS-485接口以及RJ-11連接器,只有PC(5) 與UC ( 1 )之間通過RS-232型接口進行連接。
PC ( 5 )通過RS - 232端子,以一個115.2kbps的固定波特率連接到 UC(1)上,如圖2、10和12所示;并且通過RS-485端子,也以115.2kbps 的固定波特率連接到HUB (2),組成了初級網(wǎng)絡,如圖2和圖6所示。
圖1描述了本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"的整體結
構框圖。該圖說明這是個數(shù)據(jù)傳輸和管理的網(wǎng)絡,通過指示LED燈和安 裝有適當?shù)?用戶界面"類型軟件的PC (5),為機器的修正和更佳的操作 者適應性發(fā)送必要信息。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中的UC (1)由一塊 集成以下元件的印刷電路板構成,如圖2至圖16中所示控制單元(l) 卡電路-圖2,微處理控制器(1.1)-圖3,晶體振蕩器(l丄l),晶體振 蕩器(l丄2), 32k字節(jié)隨機存儲器(1.2)和5V電源輸入-圖4, E2PROM 存儲器(1.3)和3.3V電源輸入(1.2.1)-圖5, RS-485連續(xù)接口驅動 器(1.4)與其RJ45PCI連接器(1.4.1)和電路重置斷路器(1.4.2) -圖 6, 5V ( 1.5 )和3.3V (1.6 )穩(wěn)壓器-圖7,顯示和液晶LDC連接器(1.7 )
-圖8,實時時鐘RTC ( 1.8)及其電池(1.8.1 )-圖9, RS232 ( 1.9)接 口 -圖10,通信接口 LED ( 1.10)和應答開關(1.11 )-圖11,擴展連 接器(1.12)-圖12, RS-232連續(xù)接口驅動器(1.13)-圖13, JTAG 接口連接器(1.14)-圖14, 3.3V電源輸入(1.15)-圖15,和揚聲器
(1.16)-圖16。
在本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中,UC ( 1)中的微 處理控制器(l.l),如圖3所示,通過連接器(1.14)接收,并與PC之 間通過RS-232連續(xù)驅動器(1.13)通信,同時還通過RS-485連續(xù)驅 動器(1.4 )及其RJ45PCI連接器(1.4.1)與HUB (2 )進行通信。
當微處理控制器(1.1 )錯誤或辨別出錯誤時,圖16中示出的揚聲器 (1.16)將鳴叫。
如圖5所示,存儲有地址碼的E2PROM存儲器(1.3 )只被微處理控 制器(1.1)專用。
晶體振蕩器(l丄l )標志工作頻率。
板上使用一個12V電源輸入,因此,為了啟動UC (1)上安裝的不
同元件,板上安裝有5V和3.3V穩(wěn)壓器,如圖7所示。
圖8描述了一種在終端(1.7)連接液晶LDC顯示的選項。 實時時鐘-RTC (1.8),及其電池(1.8.1)-圖9,如其名稱所表示
的,提供用于在連續(xù)時間段內的事件辨識和效率計算的實時時間數(shù)據(jù)。 通信接口 LED燈(1.10)提供關于通信量的可視信息。 圖11描述了一種應答開關(1.11)的選項,該應答開關用于激勵外
部命令,如,功能開關用于可能的LCD。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中,微處理控制器 (1.1)的程序在3.3V電源條件下,通過JTAG接口連接器(1.14)裝載
-圖14。
32k字節(jié)靜態(tài)隨機存儲器(1.2)的微處理控制器為數(shù)據(jù)在存儲器中 可能的擴展而被預測。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中的中繼單元(2 ), 即HUB,由一塊集成以下元件的印刷電路板構成,如圖17至圖24所示 中繼單元(2)卡電路-圖17, RS-485連續(xù)驅動器(2.1)及其連接器 (2丄1)和電源比較器(2丄2)-圖18, UC至US通信方向控制器(2.2) 和US至UC通信方向控制器(2.3)-圖19, US通信顯示LED燈電路 (2.4)-圖20, RS-485連續(xù)驅動器(2.5 )及其連接器(2.5.1 )和(2.5.2 ) -圖21,單穩(wěn)態(tài)電路(2.6)及其單穩(wěn)態(tài)器(2.6.1 )和UC至US通信顯 示LED燈(2.6.2)-圖22, 3.3V穩(wěn)壓器(2.7)-圖23,集成電路退耦 電容(2.8)-圖24。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中,RS - 485連續(xù)接口 驅動器(2.1)及其連接器(2丄1)如圖17和18所示,允許HUB (2) 及其US (3)之間的相互通信。
所有通信過程均有UC (1)進行初始化。在通過每個端口接收和轉 發(fā)一個來自UC ( 1 )的命令之后,HUB (2)進入一個靜止狀態(tài)直至已接 收該命令的特定US (3)反饋一個信息。因此, 一個時間段內只有一個 US (3)響應命令,這樣在一個單一信道中有擁塞流量。
將圖18中描述的電源比較器(2.1.2)連接到一個單一信道上來響應 特定US ( 3 )。
圖20中描述的US通信顯示LED燈(2.4 )的電路直觀地顯示在US (3)上的正在通信的端口。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中,RS _ 485連續(xù)接口 驅動器(2.5)及其連接器(2.5.1)、 (2.5.2)如圖22所示,允許UC (1) 和其他部件,與HUB (2)擴展至二級網(wǎng)絡的連接。
單穩(wěn)態(tài)電路(2.6)及其單穩(wěn)態(tài)器(2.6.1)和UC (1)至US (2.6.2) 通信顯示LED燈,實現(xiàn)判斷通信路徑和方向的功能。圖23中描述的3.3V 穩(wěn)壓器(2.7 )將板上電源輸入從12V轉換為用于HUB ( 2 )電路的3.3V 電壓值。
圖23中描述的集成電路退耦電容(2.8)鄰近其自帶的電源輸入針腳。 本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"中所使用的US (3) 由一塊集成以下元件的印刷電路板構成,如圖25至圖36所示傳感器 電路板-圖25,微處理控制器(3.1)及其晶體振蕩器(3.2)-圖26, 信號適配器(3.3 )及其通信顯示LED燈(3.3.1 )-圖27, E2PROM存 儲器(3.4)及其3.3V電源輸入-圖28, RS-485連續(xù)接口驅動器(3.5) 及其RJ45PCI連接器(3.5.1 )-圖29,傳感器連接器(3.6)-圖30,硬 件擴展連接器-圖31,裝載連接器(3.8)-圖32,附加源連接器(3.9) 及電路重置斷路器(3.9.1)-圖33,跳線(3.10)-圖34, 3.3V穩(wěn)壓器 (3.11)—圖35,雙色LED燈(3.12)-圖36。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"的US (3)中,微處 理控制器(1 )通過連接器(3.8)接收程序,如圖32所示,該控制器使 用由晶體振蕩器(3.2)定義的工作頻率。
E2PROM存儲器(3.4),如圖28所示,存儲傳感器地址碼(4)。
圖31中描述的連接器(3.7)是12C型的接口,用于具有附加硬件 或者硬件擴展的最終的板子。
圖34中描述的跳線(3.10),也可被稱為中途停留,表示軌道之間的 交互連接。
圖1中所描述的傳感器(4),是霍爾效應類型,并通過連接器(3.6) 連接至US (3)。圖27描述了起到"線路噪音"過濾器作用的信號適配器 電^各(3.3),將噪音更少的信號傳輸給US(3)。圖27中的LED燈(3.3.1 ) 顯示與傳感器之間的通信。
US (3)與HUB (2)通過RS-485連續(xù)接口驅動器(3.5)進行通 信,如圖29所示,即通過該驅動器的RJ45PCI連接器(3.5.1 ),如圖30 所示。
含有電路重置斷路器(3.9.1 )的附加電源連接器(3.9 )如圖33所示, 是為了預備以后使用附加電源。
圖34中所描述的跳線(3.10)是軌道之間的交互連接,3.3V穩(wěn)壓器 (3.11),如圖35所示,提供給E2PROM存儲器(3.4)和微處理控制器 (3.1 )適合的電壓。
圖36中描述的雙色LED燈(3.12)顯示了板上的工作狀況。當燈亮 使,表示了板上出現(xiàn)嚴重硬件錯誤。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"配置了三個程序模 塊讀取模塊,進程分離和產品控制模塊以及用戶接口模塊以實現(xiàn)運轉。
讀^f又模塊與硬件相互作用。根據(jù)傳感器狀態(tài)的改變,來讀取傳感單元(3)的數(shù)據(jù),并生成時間記錄數(shù)據(jù)。
因為工作在高速數(shù)據(jù)流并負責管理所有的數(shù)據(jù),所以進程分離和產 品控制模塊是更加復雜的模塊,它通過分離進程和分析生產進程,將收 集的數(shù)據(jù)轉換為信息。這是該裝置的真正功能所在。該模塊管理該裝置
關于生產線的工作,并負責定位和辨識傳感單元US (3)是否工作正常。
該模塊通過分析US (3)的數(shù)據(jù)分離所有進程,并將其用于效率計 算,其結果將顯示在用戶界面軟件中。
用戶接口模塊通過操作(寄存器)和可見的信息與用戶進行交互, 這些信息由讀取^t塊產生并在分類進程中得到處理。
出于合理操作本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"的目的, 需要為所有類型的機器設置一個寄存器,如機器、電池、職員、零件等。
通過這個軟件,該裝置通過讀取機器上運行的進程,允許產品技術 表記錄的自動生成,如,機器執(zhí)行的操作順序被標準化。
通過產品技術數(shù)據(jù)表,使得特定產品的生產線得到平衡,以確保產 品最好的生產形式。
使用技術數(shù)據(jù)表上提供的標準時間,讀取和分離模塊計算操作者效 率,并通過進程表測量圖來顯示圖形。
管理軟件能夠辨識每個連接到該網(wǎng)絡的US單元,后者記錄讀取結果 或接收端口發(fā)送來的指令。 一部分類型的傳感器和電流接觸器能被連接 至這些端口上。在外部生產線上,讀取針腳數(shù)目和活動的壓腳數(shù)目的霍 爾類型傳感器需要做出選擇。由讀取模塊獲得的信息被US (3)接收, 并#皮HUB向前傳輸至UC ( 1 )。讀取程序讀取UC ( 1 ),組織讀取到的 信息并將其與已經(jīng)存儲于數(shù)據(jù)庫中的讀取結果進行比較。配置有人工智 能邏輯的本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"辨識相似進程, 是否能夠進行生產,并執(zhí)行所有時間進程分析的效率計算并將其存儲于SQL數(shù)據(jù)庫。在服務器PC上運行上述程序,信息管理、用戶界面軟件輪 流辨識生產線上每臺機器正在生產的所有產品,以及正在被操作者按照 固定變化時間操作的事件。
由以上信息可獲得的結果 -每個操作者、小組或設備的生產力報告。生產的零件;每個操作過程 花費的更長或者更短的時間;多產的次數(shù);低產的次數(shù);進程之間的比 較,操作者之間的比較(次數(shù)和行為的研究)。
-基于統(tǒng)計學理論的預測;產品交付日期;預定的生產原料的購買;指 出效率最佳的生產線(有同樣效率的人);預測生產線瓶頸(實時);設 備增加;產品平衡(工作和職位的分配)。
本發(fā)明"遠程多點式監(jiān)測和時間進程分析裝置"并不是針對自動機器, 而是針對各種類型的機器和工人的自動生產監(jiān)測。通過人工智能從每個 工人和機器提供的信息學習,并基于這個信息集合提供可行的進程改進 和生產線平衡以達到生產線的更優(yōu)化。
基于以上內容,本發(fā)明描述了 一種遠程多點式監(jiān)測和時間進程分析 的方法,提供了每個進程和方法的詳細算法的定義。本發(fā)明所增添或加 強的改進體現(xiàn)在,通過在遠程多點式監(jiān)測和時間進程分析方法中被展開 的算法的創(chuàng)新。
如PI0404926-8的才艮告中所建議的,按照曾經(jīng)定義過的步驟,以下將 成為可能每個操作者、小組或設備的詳細生產力報告,包括生產的零 件數(shù)目;每個操作花費的最長或最短時間,多產的次數(shù),不多產的次數(shù), 操作者執(zhí)行的操作之間的比較(次數(shù)和行為的研究);產品交付日期的統(tǒng) 計預測,預定的生產原料的購買,指出效率最佳的生產線(有同樣效率 的人),實時生產線瓶頸預測,設備容量的增加,產品的平衡(工作和職 位的分配)。為了清楚闡述本說明書作為本發(fā)明專利的附加的證明,以下我們提 供一些實現(xiàn)如本發(fā)明所述了的 一種遠程多點式監(jiān)測和時間進程分析的方 法的定義和步驟順序。
為實現(xiàn)這種使用特定裝置的方法,首先需要定義物理媒介、平臺或 者硬件,并基于基本步驟順序,如,基礎的預備算法,以及期望的結果, 更進一步的,想要得到的行為,圖像和報告。
確定的算法隨之生成,即是根據(jù)在生產進程和遠程多點式監(jiān)測和時 間進程分析的方法中可能遇到每個不同情況或狀態(tài)的范圍需要完全遵守 的步驟順序。這是用于獲得期望的最終產品的方法。
計算機程序,即"軟件",是將用于執(zhí)行方法的算法,轉換為以目前存 在的一種機器編程語言的計算機程序序列。
該裝置本身,由于做為電子印刷電路, 一般被認為是"硬件",已在原
始申請PI0404926-8中得到充分的定義和介紹。
如PI0404926-8中的圖1至圖36所示,開始被稱為"用于遠程多點式 監(jiān)測和時間進程分析的裝置",被定義為由一個控制單元(UC) ( 1 ),中 繼單元(HUB) (2),傳感單元(US) (3),傳感器(4)和PC (5)組成。
根據(jù)PI0404926-8中所述,在這份附加證明的權利要求書中所述的算 法是允許來自傳感器(4)的信號被呈現(xiàn)在報告中并顯示在PC的顯示屏 上,并能允許用戶與該多點式監(jiān)測和時間進程分析方法之間的交互。
該算法遵守以下指令
a) 用于計算的符號"+ "表示加;"-"表示減;"/,,表示除;"*,,表 示乘;"八"表示指數(shù);"Mod,,表示除法的余數(shù)。
b) 用于比較的符號"="表示相等;">"大于;"<"表示小于;"<>,, 表示不等;"> ="表示大于或等于;"< ="表示小于或等于;"No" 表示與不等相似,用于在邏輯表達里轉換布爾值。
c) 用于布爾值(邏輯)"True"表示真;"False"表示假;"Not True" 表示不真或者假;"NotFalse,,表示不假或者真。
d) 用于語言結構"Unit,,表示程序單元;"Procedure,,或"arguments" 表示用于執(zhí)行的過程,后者表示傳送的參數(shù),前者并不返回值; "function", "arguments", "Return Type"表示帶有特定返回類型的 過程;"variables"表示狀態(tài)變量;"Beginning"表示命令塊的開始; "End"表示命令塊的結束;"Endunit"表示程序單元的結束。
e) 用于重復循環(huán)"Aslongas〈邏輯表達式〉Do"表示重復循環(huán)直至 該邏輯表達式返回值為真;"FoK變量〉F〈開始值〉untiK最終值 〉Do"表示重復循環(huán)直到〈變量〉等于最終值;"Continue"表示回到 該循環(huán)的開始;"Stop"表示跳至循環(huán)的結束。
f) 用于數(shù)據(jù)類型"Integer"表示初值為O(零)的整型數(shù);"Real"表示 初值為O(零)的實數(shù);"Text"表示初始值的字符集;"Matrix[],,表 示矩陣值;"Hex,,表示初值為0h的十六進制數(shù);"DateTime,,表示 曰期和時間域。
g) 用于條件結構"if〈邏輯表達式〉Then if not"表示用于任務執(zhí)行 的條件結構。
h) 用于其他的"="表示歸因值;";"表示命令終結符; "implementation,,表示結構執(zhí)行的開始;"Pos(strSearch, str),,表示 "str"中"strSearch"的位置;"copy(str, beginning, end)"表示返回 在開始和結束中間的部分;"Length(str),,表示返回"str,,的長度/尺 寸;"TextToHex,,表示字符到十六進制的轉化;"HexToText,,表示 十六進制到字符的轉化;"Val(text),,表示字符量到數(shù)字格式的轉 化;"In—Seconds(datel,date2)"表示"datel"與"date2,,在時間上的不 同;"procedureStoreRecord (US, dateTimeBeginning, dateTimeEnd,
statusSensor, portSensor, points, presser foot, identifyTask, beginSeparation)"表示向數(shù)據(jù)庫里存入元素;"NOW,,表示返回現(xiàn) 在的日期和時間;"HexToInteger"表示十六進制數(shù)到整型數(shù)的轉 化;"searchShifts(list,index)"表示返回工作變化列表,其中第 一元 素為日期,第二元素為開始時間,第三元素為結束時間; "minutesToHours"表示以小時的形式返回值; "searchHistory(sensor,begi皿ingProcess,EndProcess,points,time,tim eStandard,processes,processesError,timeMachine)"表示向凄t據(jù)庫詢 問傳感器的值包括通知的周期,累積點數(shù)據(jù),時間,標準時間, 過程,有錯誤的過程和機器時間; "Select—Readings(US,elementEnd,processPoints,processPresserFoot, processBeginning,processEnd,processTime,timeMachine),,表示詢問 讀取數(shù),累積點數(shù),壓腳,過程的開始和結束,并且返回機器時 間 作 為 有 效 的 縫合 時 間 ; "Select—ProgProduction(US,processPoints,processPresserFoot,proce ssTime)"表示向數(shù)據(jù)庫詢問生產程序并返回生產程序代碼,該生
產程序代碼以必須相似的點、壓腳和機器時間編程; "Select一Tasks(US,processPoints,processPresserFoot,processTime)" 表示返回代碼為相似的任務而建立,如果沒有建立的話則自動產
生 一 個代碼;"generateTimeImproductive(US,processBeginning)" 表示詢問低產的時間,尋找上一次生成的歷史記錄,并計算該低 產之間的時間和"processBeginning"中通知的時間,如果該時長大 于 10秒則歷史記錄中將生成詳細的低產時間; "generateHistory(US,processBeginning,processEnd,productionProgr
,standardPoints,standardPresserFoot,standardTime,mHist_TRT,time—Improductive,efficiencyTimeStandard),,表示生成歷史i己錄,該記錄 是為了通知數(shù)據(jù)的讀取,防止再處理,讀取被排除,任務或生產 程序的更新,使得下一個過程中它們被包括于修改后的平均時間 中;"searchElementsSeparation(US,elementEnd),,表示升序地尋找
沒有被分離的讀取,返回傳感單元和被處理的最終元素,最終元
素#:定義為現(xiàn)有的壓腳的第一個記錄。
權利要求
1.一種遠程多點式監(jiān)測和時間進程分析裝置,是傳統(tǒng)的制造于印刷電路板上的類型的裝置,還包括PC(5),其特征在于定義了一種由四個基本部分組成的功能性技術構造,四個基本部分即控制單元(UC)(1),中繼單元(HUB)(2),傳感單元(US)(3)和傳感器(4)。
2. 根據(jù)權利要求1所述的遠程多點式監(jiān)測和時間進程分析裝置,其特征在 于所述控制單元(1)由以下部分交互組成,微處理控制器(1.1),晶 體振蕩器(l丄l ),晶體振蕩器(l丄2),32k字節(jié)隨機存儲器(1.2),E2PROM 存儲器(1.3), RS-485連續(xù)接口驅動器(1.4), 5V穩(wěn)壓器(1.5), 3.3V 穩(wěn)壓器(1.6),顯示和液晶LDC連接器(1.7),實時時鐘RTC ( 1.8),電 池(1.8.1), RS-232接口連接器(1.9),通信接口 LED燈(1.10),和應 答開關(1.11),擴展連接器(1.12), RS-232連續(xù)接口驅動器(1.13), 和JTAG接口連接器(1.14), 3.3V電源(1.15)和揚聲器(1.16)。
3. 根據(jù)權利要求1所述的遠程多點式監(jiān)測和時間進程分析裝置,其特征在 于所述中繼單元(2)由以下部分交互組成,RS-485連續(xù)接口驅動器(2.1),連接器(2丄1),電源比較器(2丄2), UC至US通信方向控制 器(2.2 ), US至UC通信方向控制器(2.3 ), US通信顯示LED電路(2.4 ), RS-485連續(xù)接口驅動器(2.5),連接器(2.5.1)和(2.5.2),單穩(wěn)態(tài)電路(2.6 ),單穩(wěn)態(tài)器(2.6.1 ), UC至US通信方向顯示LED燈(2.6.2 ), 3.3V 穩(wěn)壓器(2.7),集成電路退耦電容(2.8)。
4. 根據(jù)權利要求1所述的遠程多點式監(jiān)測和時間進程分析裝置,其特征在 于所述傳感單元(3)由以下部分交互組成,微處理控制器(3.1)及晶 體振蕩器(3.2 ),信號適配器(3.3 )及通信顯示LED燈(3.3.1 ), E2PROM 存儲器(3.4), RS-485連續(xù)接口驅動器(3.5),連接器RJ45PCI ( 3.5.1 ), 傳感器連接器(3.6),硬件擴展連接器(3.7),負載連接器(3.8),附加 源連接器(3.9),電路重置斷路器(3.9.1 ),跳線(3.10 ),3.3V穩(wěn)壓器(3.11 ), 雙色LED燈(3.12)。
5. —種遠程多點式監(jiān)測和時間進程分析裝置,是傳統(tǒng)的制造于印刷電路板 上的類型的裝置,其特征在于板載軟件程序能提供每個操作者,小 組或設備的詳細生產力報告,包括生產的零件數(shù)目;每個操作花費的更 長或更短的時間,多產的次數(shù),不多產的次數(shù),操作者執(zhí)行的操作之間 的比較(次數(shù)和行為的研究);產品交付日期的統(tǒng)計預測,預定的生產原 料的購買,指出效率最佳的生產線(有同樣效率的人),實時生產線瓶頸 預測,i殳備的增加,產品的平衡(工作和職位的分配)。
6. 根據(jù)權利要求1、2、3或4所述的遠程多點式監(jiān)測和時間進程分析裝置, 其特征在于包括一個控制單元(l),中繼單元(2),傳感單元(3)和 傳感器(4),獨立的設備眾多特性,結合上管理軟件,集成了該遠程多 點式監(jiān)測和時間進程分析裝置。
7. 根據(jù)權利要求1、 2、 3、 4、 5、 6中所述的一種遠程多點式監(jiān)測和時間 進程分析的方法,是運行遠程的多點式監(jiān)測和時間進程分析的方法,其 特征在于描述了一種對由算法單元的讀取管理的信息進行捕獲,處理 和顯示的方法; commands : Array [1..100] Of Array [1..2] Of String; 〃命令列表的創(chuàng) 造以執(zhí)行命令 Count: integer;USfound : string; 〃已定位US列表的創(chuàng)造 USfmd : string; 〃未定位US列表的創(chuàng)造 proxUSfmd : integer;listUS : Array [1..200] Of Array [1..10] Of String; 〃US數(shù)據(jù)的列表 command Result: String; constcomStartUC : String = 7E FF 55 AA1; 〃開始控制單元 comReadings : String = 7E BO 00 00'; 〃讀取US的傳感器的狀態(tài); comFind : String = 7E E4 '; 〃定位傳感單元 comGreenLedON : String = 7E E9 '; 〃綠燈亮; con]GreenLedOFF : String = 7E EA '; 〃綠燈滅; comRedLedON : String = 7E EB '; 〃紅燈亮; comRedLedOFF : String = 7E EC '; 〃紅燈滅; comRedLedBLINK : String = 7E E2 '; 〃紅燈閃; procedure main;procedure processCommandResult; 〃讀耳又命令的返回過禾呈 procedure fmdUS; 〃定位US的命令返回 procedure addCommand(comando : String; US : Integer); procedure delete Command; procedure updateEfficiencyleds;function calc一Efficiency(US : Integer; datalnicio, dataTermino DateTime》Real;implementation(任務執(zhí)行程序,開始讀取和控制連續(xù)通信的訪問}{-—……-----------------—一----------一—一}procedure Readings, mair^ var iUS, iCount: Integer; begincommandsCount := 0; 〃命令列表初始4匕 comPort.Open; 〃打開連續(xù)通信 addCommand(commands, comStartUC, 0);for iUS := 1 To 200 Do addCommand(commands, comFind, iUS);〃 模擬尋找單元US 200addCommand(commands, comReadings, 0); proxUSfmd := 1; USfound :="; USfind :=";while True do Begin 〃無限循環(huán),程序不停止地執(zhí)行; if (Now.Minutos mod 5) = 0 Then beginupdateEfficiencyLedsj end;if commandsCount = 0 Then addCommand(comReadings, iUS); comPort.SendStr(commands[l, 1] + strToHex(commands[l , 2]));commandResult :=";while (iCount < 100) or (comPort.receivingStr) Do Beginif Not (comPort.receivingStr) Then inc(iCount); commandResult := commandResult + comPort.receiveStr; e喊ifcommands[l , 1 ] = comStartUC do inicializaUC; if commands[l , 1] = comReadings do processCommandResult; if commands[1 , 1 ] = comFind do findUS; deleteCommand; e喊 end; (指示US尋找的返回}{------------------------------------——-------------}procedure Readings.findUS; 〃返回UC的尋4戈 beginif commandResult = '06 00' Then 〃返回US #皮找到的確定信息 beginif pos(W' + commands[l, 2] + USfound) = 0 Then beginUSfound := USfound + '#' + commands[l , 2] + '#'; listUS[val(commands[l , 2]), 1 ] := commands[l ,2]; 〃 USid; listUS[val(commands[l , 2]), 2〗'N'; 〃幫助(y/n)'listUS[val(commands[l, 2]), 3] := DateTimeToStr(Now); 〃點 持續(xù)的使用時間listUS[val(commands[l , 2]), 4〗='O'; 〃點的凄t量listUS[val(commands[l, 2]), 5] := DataTimeToStr(Now); 〃壓腳持續(xù)的使用時間listUS[val(函mands[l , 2]), 6] := 'O'; 〃壓腳的數(shù)量 listUS[val(commands[l , 2]), 7] := 'O'; 〃點的聚集 listUS[val(commands[l, 2]), 8] := 'O'; 〃壓腳的聚集 list(JS[vaI(coi麗ands[l , 2]), 9]DateTimeToStr(Now); 〃開始日期listUS[val(commands[l , 2]), 10]:="; 〃最后的進程 end;if pos('#' + commands[l, 2] + '#', USfmd) <> 0 Then USfind := copy(USfmd, 1 , pos('#, + commands[l , 2] + USfmd)-1 ) + copy(USfind, posCT + commands[l , 2] + '#', USfind)+2+length(commands[l , 2]), length(USfind));e喊if commandResult <> '06 00' Then /返回US沒有被找到的指示 beginlistUS[val(commands[l, 2]), 1] := '0';〃 US id;if pos('#, + commands卩,2] + '#', USfmd) = 0 ThenUSfmd := USfind ++ commands[,2] + if pos('#' + commands[l , 2] + '#', USfound) 0 ThenUSfound := copy(USfound, 1 , pos(+ commands[l , 2] +USfound)-1) copy(USfound, pos{'#, + commands[l , 2] + USfoimd)+2+length(commands[l , 2]), length(USfound));end; e喊{-------------------------.............. —————}{指示傳感器的數(shù)據(jù)和注意狀態(tài)變更){-----------------------.........——— _————).procedure Readings.processCommandResult; 〃命令讀耳又的返回過程var iCont: integer; US : integer; points : integer; pressFoot: integer;us_pnts—Count: integer;us一calc—Count: integer;us_pnts—Hour : DateTime;us—calc—Hour : DateTime;us—StartDate : DateTime;us_pnts—acum : integer;us—calc—acum : integer;HourProcess : DateTime;forcePressFoot: Boolean;auxUSfind : String; begin/—.........__________.......__________________________^{US返回處理的控制的循環(huán)} {12345678901234567890123456789} {00 01 00 00 00 00 00 00 FF FF FO 01}{US US P] PI P2 P2 P3 P3 TT TT It fails Sensory 1 、( {-------------------——------------------------------}while length(commandResult) > 0 do beginif copy(commandResult, 1, 1) = ,F(xiàn), then 〃讀取US失敗addCommand(comFind, hexToStr(copy(coramandResult, 2 4));〃試圖重新找到UScommandResult := copy(commandResult, 6, length(commandResult));eJLsebeginUS := hexTolnt(copy(comrnandResult, 1, 5));points := hexToInt(copy(commandResult, 7, 5)) + hexTolnt(copy(commandResult, 19, 5));pressFoot := hexTolnt(copy( commandResult, 13, 5));lis—pnts—Count := vai(listUS[US, 4]); us—calc—Count := val(IistUS[US, 6]);us—pnts_acum := val(listUS[US, 7]);us—calc—acum := val(listUS[US, 8]);us—pnts—Hour := StrToDateTime(listUS[US, 3]);us—calc—Hour := StrToDateTime(listUS[US, 5]);us—StartDate := StrToDateTime(listUS[US, 9]);HourProcess := NowOif points <〉 0 then us—calc—acum := 0; 〃清除聚積的壓腳將 擁有一些點forcePressFoot:=(us_pnts_acum 0)and(em—Segundos(HourProcess, us_pnts—Hour) > 120);{------------——------------------------}lfforcePressFoot Then Beginus—calc—Count := 1;us—calc—Hour := us_pnts—Hour;end;〃-------------.......---------------------——{-——……--------------------------------……—一H使用的點和針腳記錄}{-----------------------——一——-------------------} forcePressFoot := (forcePressFoot) or ((us—calc—Count > 0) and(us—acmn_points > 2) and (points > O));forcePressFoot := (forcePressFoot) or ((us—calc—Count > 0) and (us—acum_points > 2));If forcePressFoot Then Begin〃寫確認的元素writeRegister(US, us—StartDate, us—calc—Hour, 'U' 'C',us—acum—points, s—calc—Count, True, True); 〃為新進程提出日期listUS[US, 9] := DateTimeToStr(us—calc—Hour); 〃開始曰期 liStUS[US, 6] := 'O'; 〃壓腳數(shù)量 liStUS[US, 7] := 'O'; 〃點的聚集liStUS[US, 5] := DateTimeToStr(us一calc一Hour); 〃壓腳使用 時間的簽字確認end;//傳感器的工作和停止,生成讀取數(shù)據(jù)記錄If (points = 0) and (us—pnts—Count > 0) Then Begin 〃------------------------.......-------—— writeRegister(US,us—pnts—Hour, HourProcess , 'L', 'P', us—puts—Count,us—calc—Count, False, False);〃---------------.............——...........jistlJS[US,71 :=str(us—acum—points+us—pnts—Count); 〃點的 長集IiStUS[US. '0';〃點的數(shù)量listUS[US,3]:=DateTimeToStr(HourProcess); 〃最后的進程時 間的簽字確認;end;〃一-.......----------------------------------傳感器停止,生成不活動時間記錄〃---------……一..........-.........-———If (pointso 0) and (us—pnts—Count=0) Then Begin 〃------------------------------------------------writeRegister(US, us__pnts—Hour, HcmrProcess, 'D', 'P', us_pnts—Count,us—calc—Count, False, False);/...........------------------------------listUS[US,3〗:=DateTimeToStr(HourProcess);〃最后的進程時間的簽字確認;If usacum_points=0ThenlistUS[US,9]:= DateTimeToStr(HourProcess); 〃開始日期endj〃傳感器狀態(tài)變更不存在時聚集點if(pointso 0) Then HstUSfUS,〗tr(us_pnts—Count+points);〃點的數(shù)量commandResult := copy(commandResult, 25, length(commandResult)); end; end;{--------------------------------------------}(增加命令繼續(xù)讀取的循環(huán)}{—-—-—-------------—一-}addCommand(comReadings, 0);{---------------……----------------—一}(試圖尋找沒有找到的US) {------------------------------............._}for iCont := 1 To 4 do beginauxUSfmd := copy(USfmd, proxUSfmd+l, length(USfmd)); US := copy(auxUSfmd, 1 , pos('#,, auxUSfmd)-l )二 addCommand(comFind, val(US)); proxUSfmd :=pos('#, auxUSfind)+l ; if proxUSfind > length(USfmd) then proxUSfmd := 1; end;end;{----------------------------——----------------} procedure Readings.addCommand(comando : Strmg; US : Integer); begincommandsCount := commandsCount + 1 ; commands [commandsCount, 1] := comando; commandsfcommandsCount, 2〗=str(US); end;{-———-------------------------------------}procedure Readings.deleteCommand;var iCount: integer;beginfor iCount := 2 To commandsCount Do begincommands[iCount-l ,]:=commands [iCount, l]; commands[iCount-l , 2] := commands[iCount, 2]; e喊commands[comnnandsCount, 1]:="; commandsfcommandsCount, 2]:="; commandsCount := commandsCount-1 ; end;(為了小時目標效率的計算,在US中提出的數(shù)據(jù)LED燈的效率》procedure Readings. updateEfficiencyLeds; var iCont: Integer;dateEnd : DateTime;dateStart : DateTime;US : Integer;efficiency : begin〃-----------------------------.......-----------〃效率計執(zhí)行的開始和結束日期的定義 〃-----------------------------------------------dateEnd := Now(); dateStart := Now();if dateStart. Hour <= StrToTime('01 :00:00') Then dateStart. Hour :='00:00:00'Else dateStart. Hour := dateStart. Hour - '01 :00:00';for iCont :=〗To 200 DobeginUS := val(listUS[iCont, l]); if US = 0 Then continue;efficiency := calc—Efficiency(US, dateStart, dateEnd);if efficiency <= 0 ThenbeginaddCommand(comRedLedOFF , US); addCommandCcomGreenLedOFF, US); endelse If efficiency > 70 Then beginaddCommand(comRedledOFF , US); addCommand(comGreenLedON , US); endelse If efficiency > 50 Then beginaddCommand(comGreenLedON , US);addCommandCcomRedLedON , US); end Else Beginad d C omm and (comGreenLed OF F , U S); addCommand(comRe(HedON , US); e喊 end;〃---------------------------------........--------end;{----------------------.......——.........——} {通知的數(shù)據(jù)的計算效率}{--------------------------------------———}function calc—efficiency (US : Integer; dateStart, dateEnd : DateTime) :Real;var iHorario : integer;stringDate : String;StartlnMinutes : .Integer;endlnlWinutes : Integer;StartProcess , endProcess : DateTime;pi'ocessEfficiency , pointsSegundo, metaPoints : Currency; time—Process : Currency;timeStandard : Currency;timeMachine : Currency;thneWork : Integer;points Integer;process : Integer; processErrors : Integer;listSchedules : Array Of Array [1..3] Of String; ilistSchedules : Integer; beginpoints := 0; process := 0; processErrors := 0; time—Process := 0; timeStandard :== 0; timeMachine := 0; timeWork := 0;fmdTums(listSchedules, ilistSchedules); For iHorario := 0 To ilistSchedules Do BeginstringDate :二 listSchedules陽orario, l]; StartlnMinutes := vai(listSchedules[iHorario, 2]); endln.Mimites := vai(listSchedules[iHorario, 3]); StartProcess :UoDateTime(stringDate)minutosToHour(StartlnMinutes);endProcess :=strToDateTime(strin gDat e)+minutosToHour(endlnMinutes); {----------.......-------------------------------}timeWork := timeWork+ (endlnMinutes - StartlnMinutes);〃------------……----------------------.......—〃〃在^:據(jù)庫中尋找通知期內過程值〃〃----------------------------........--------------〃fmdProcess(US, StartProcess, endProcess, points, time—Process, timeStandard, process, processEn'ors, timeMachine);e喊〃--------------------------------.......-----------〃if timeWork = 0 Then result := -5 〃脫離工作次序Else if (time—Process<=0) or (timeStandard<=0)Then result:=0 〃周期 內無工作;Else BeginprocessEfficiency :- (timeStandard / time—Process) * 100;pointsSegundo := points / timeJProcess;metapoints := (pointsSegundo * 100) / (processEfficiency);result := (points / (metapoints * ((timeWork*60) *percentualConcessao))) * 100;end;〃---------------…… ……—.........--------〃end; end unit.〃-------------------------——----------..............Separation process相似任何確認和即將產生功率的信息中收集的數(shù)據(jù)的轉化unit separation;var US : Integer;fmalElement: Integer;processpoints : Integer;processPressFoot: Integer;process Start : DateTime; processEnd : DateTime; processTime : Real; programmedProduction : Integer; procedure separationProcess;implementation procedure separation, main;beginwhile True do beginfindSeparations(US, finalElement); separationProcess;e喊 end;procedure separation. separationProcess; var timeUnproductive : Integer; EfficiencyTimeStandard : Real;timeMachine : Real; begintimeMachine := 0; taskldentified := 0;{----------------——--------------------------}select—Readings(US, finaJElement, processpoints, processPressFoot: processStart, processEnd, processTime, timeMachine);programmedProduction := findProgrammedProduction(US, processpoints, processPressFoot, processTime, standardTime, standardpoints, standardPressFoot);{When to locate hanging prograiTimirigs and some to coincide with the points and to presser foot, validates the process ){-----------------------------...................} If programmed ProductionoO ThenupdateProgrammedProdiiction(programmedProduction, processEnd) else taskldentified := Select一Tasks(US, processpoints, processPressFoot, processTime);{ it generates description for the task or similar operation}timeU叩roductive := generateTimeUnproductive(US, processStart);Efficiency TimeStandard := (standardTime / processTime〕 * 100;generates—description(US, processStart, processEnd, programmedProduction, taskldentified, processpoints, processPressFoot, processTime,standardpoints, standardPressFoot, standardTime, timeMachine, timeU叩roducti ve, efficiencyTimeStandard);end;end unit. Control unitIt receives the commands sent by the serial door and it repasses them for the Sensory Units.{— Initial data:.UC : Abbreviation of control unit. US : Abbreviation of sensory unit. PI : Abbreviation Port 1. P2 : Abbreviation Port 2. P3 : Abbreviation Port 3.commandReceiveSeria! : Used fimction to catch the data that had been sent of the serial door of the computer for the UC. This function does not have body, therefore they are interruptions of the microcontroller and are fed by it.commandTransmitSerial : Used fimction to transmit the data of the UC for the serial door of thecomputer. This fUnction does not have body.therefore they are interruptions of the microcontroller and are fed by it.comrnandReceiveNetwork : Used function to catch the data that had been sent of the net of the US for the UC. This function does not have body, therefore they are interruptions of the microcontroller and are fed by it.commandTransmitNetwork : Used function to transmit given of the UC for net of the US. This function does not have body, therefore they are interruptions of the microcontroller and are fed by ittimeOut: All transmission has a time of reply return, if the time tocommand Transmi tNet work var countErrors : integer; countErrorsUC : integer; ledTransmit: string := OFF; ledReceive : string := 'OFF1; while true do begincase commandReceiveSerial do'startUC: startUCO;break;'restartUS1: restartUS(sensora);break; 'write IPI':commandTransmitNetwork := commandReceiveSerial; breakj 'writeOPT:commandTransmitNetworAcommandReceiveSerialO);break; 'writeP2':breaks 'w兀teOP2':commandTransmitNetwork(commandReceiveSerial());break; 'write 1P3':commandTransmitNetwork(commandReceiveSerial()); break;'writeOP3': commandTransmitNetwork(commandReceiveSerial()); break;ReadCountPl': commandTransmitNetwork(commanclReceiveSerial()); breakReadCountPZ: commandTransmitNetworAcommandReceiveSerialO); break; 'readCountP3':break; 'configurePI Out':commandTransniitNetwork(commandReceiveSerial(》 breaks'co兀flgurePI In1: commandTransmitNetworAcomrnandReceiveSerialO);break;'configureP20ut':commandTransmitNetwork(commandReceiveSerial()); break; 'configureP21n': commandTransmitNetwork(commandReceiveSerial()); break;'configureP30ut': commandTransmitNetwork(commandReceiveSeriat());'configureP31n': commandTransmitNetwork(commandReceiveSerial()); break;'configurePl Up': commandTransmitNetwork(commandReceiveSeriat());break;'configurePl Down1:commandTransmitNetwork(commandReceiveSerfal());break; 'configureP2Up':commandTransmitNetwork(commandReceiveSerial()); break; 'configureP2Down':commandTransmitNetwork(c.ommandReceiveSerial()); break; 'configureP3Up':commandTransmitNetwork(commandReceiveSOrial());break;break; 'configureP3Down':commandTransmitNetworkfcommandReceiveSerialQ);break; YeadCountErrors1:commandTransmitNetworAcommandReceiveS(3rialO);break;'clearCountErrors1: commandTransmitNetwork(commandReceiveSerial());break;'readCountErrorsUC: readCountErrorsUC; break;'c.learCountErrarsUC1: clearCountErrorsU C ; break;OnBlinkLeds1: commandTransmitNetwork(commandReceiveSerialO); break;OfffifinkLeds1: commandTransmitNetwork(commandReceiveSerial()); break;ON'Ledi': commaiidTransmitNetworAcornmandReceiveSerialO); break;OFFLedi': commandTransmitNetworAcommandReceiveSerialO); break; ONLedZ: commandTransmitNetwork(commandReceiveSerial());break; OFFL0d2':commandTransmitNetworAcommandReceiv0SerialO); break;'specif icPoll': commandTransmitNetworAcommandReceiveSerialO); break;'genericPoll': commandTransmitNetworAcommandReceiveSerialO); break;'readCountAUUS1:commandTransmitNetworkfcommandReceiveSerialO);break;end; 〃開始UC procedure startUC;begin CountErrorsUC := 0;CountErrors := 0;blinkLedReceive;blinkLedTransmit; presentation; end; functi on com mand Tran smi t S erial(); ftmction commandReceiveSeriai(); function commandTransmitNetworkUSO; function commandReceiveNetworkUSO; procedure blinkLedTransmit; beginOnLedTransmit; OffLedTransmit; end;procedure blinkLedReceive; beginONL6dR6C6iv6;OFFLedReceive; end; procedure OnLedTransmit; begin ledTransmit := 'ON1; end; procedure OffLedTransmit;begin ledTransmit := OFF; end;procedure ONLedReceive; begin ledReceive := ON1; end; procedure OFFLedReceive; begin ledReceive := 'OFF1; e喊procedure timeOut; begin inc(CountErrors); end;procedure presentation; begincommandTransmitSerialCSiSTEMA DE MONITORAMENTO、 end;procedure leCountErrorsUC;begin commandTransm腦etwork(CountEiTorsUC); e喊procedure limpaCountErrorsUC;begin coinmandTransmitNetwork(CountErrorsUC);end;Sensory UnitsIt receives the commands sent by the Control unit, treats the command and. it returns the data for the Control unit { Initial Data: UC :Abbreviation of control unit. US : Abbreviation of sensory unit.commandReceiveNetwork : Used function to catch the data that had been sent of the net of the US for the UC. This function does not have body, therefore they are interruptions of the microcontroller and are fed by it.commandTransmitNetwork : Used function to transmit given, of the UC for net of the US. This function does not have body, therefore they are interruptions of the microcontroller and are fed by it.interruptionSensorX : Functions to make the increment of the accountants of sensor X (1, 2 or 3), they are interruptions of the microcontroller. When to occur an interruption returns a value boolean with current state from the interruption true or falsifies;writeXPY : It writes Y (1 or 0) in door X (〗,2 or 3) when it will be defined as exit.} 〃變量var ccmntPorti : integer; countPort2 : integer; countPort3 : integer; Porti : string := 'ENTRADA1; Port2 : string := 'ENTRADA1; Port3 : string'ENTRADA1; Iedl : string := OFF; led2 : string := OFF;〃系統(tǒng)常量 constUSid : integer := 1 , while true do beginIf US = USid then begin 'find1: fmd(US); break; 'writeiPf:if Portl = OUT1 then commandTransmitNetwork := commandReceiveSerial;elsecommandTransmitNetwork := "FAILURE1;breaks'writeOPT:if Portl = OUT then commandTransmitNetwork(commandReceiveSerial());elsecommandTransmitNetwork := 'FAILURE1; break; 'write 1P2':ifPort2 ='OUT then commandTransmitNetwork(commandReceiveSerialO);elsecommandTransmitNetwork := 'FAILURE';break; 'writeOP2': ifPort2 = OUT thencommandTransmitNetwork(commandReceiveSerial()); elsecommandTransmitNetwork := 'FAILURE1; break;'write 1P3': ifPort3='OUTthencommandTransmitNetwork(commandReceiveSerial()); elsecommandTransmitNetwork := 'FAILURE'; break;'writeOP3': if Port3 = OUT then commandTransmitNetwork(commandReceiveSeriatO);elsecommandTransmitNetwork := 'FAILURE'; break;'readAIICounts': readAIICounts; break;YeadCountPf: readCountPI ; breaksVeadCountP2': readCotmtP2; break;'readCountP3': readCountP3; breaks'configurePIOUT: configurePIOUT; break;'configurePI In': confFgurePI In; break;'configureP20UT: configureP20UT; break;'configureP21n': configureP21n;break;'config腦P30UT: configureP30UT; break; 'configureP3In': configureP31n; break;'ccj兀figurePIUP': configurePI UP; break;'configurePIDO額1: configurePIDOWN; break;'configureP2UP': configureP2UP; break;'configureP2DOWN': configureP2DOWN; break;'configureP3UP': configureP3UP; break;'configureP3 DOWN': configureP3 DOWN; break;YeadCountEiTors1: readCountErrors; break;'ciearCountErrors': ciearCountErrors;break; ONblinkLeds1: ONblinkLeds; break;OFFblinkLeds1: OFFblinkLeds; break; ONLedT: ONLecH ; break;OFfledf: OFFLedi; break; ONLedZ: ONLed2; break; OFFI一ed2': OFFLed2; break; 〃端口統(tǒng)計的讀取if interruptionSensori () = true then begincountPorti := countPorti + 1 ; end;;if intei'ruptionSensoi'20 = true then beginc.ountPort2 := cou兀tPort2 + 1 ; end; if interruptionSensor3() = true then begincountPort3 := countPort3 + 1 ; end;end jend;〃端口的中斷flinction interruptionSensor 10 : boolean;flmction interruptionSensor2(): boolean;function interruptionSensor3(): boolean; 〃網(wǎng)絡通信功能procedure commandTransmitNetworkUS; procedure commandReceiveNetworkUS;〃向端口寫o或1procedure writel PI ; procedure writeOPI; procedure writel P2; procedure writeOP2; function writel P3; function writeOP3; 〃讀取端口數(shù)procedure readAIICounts: begincommandTransmitNetworkUS(readCountPIQ); commandTransmitNetworkUS(readCountP2());commandTransmitNetworkUS(readCountP3()); end;procedure readCountPI; begincommandTransmitNetworkUS(countPI); e喊procedure readCountP2; begincommand Transmi tNetworkUS (countP2); e喊procedure readCountP3; begincommandTransmitNetworkUS(countP3); end;〃端口工作模式的輸入/輸出配置 procedure configurePIOUT;procedure configurePI In;procedure configureP20UT;procedure configureP21n;procedure configureP30UT; procedure configureP31n; 〃端口變化的上升或下降邊緣配置procedure configurePf UP; procedure configurePI DOWN;procedure configureP2UP; procedure configureP2DOWN;procedure ccmfrgureP3UP; procedure configureP3DOWN; 〃計算錯誤數(shù)procedure readCountErrors; 〃讀耳又錯誤數(shù) begincommandTi'ansmitNetworkUS(countErrors); end;procedure clearCountErrors; 〃清除錯誤數(shù) begin ccmntErrors := 0; e喊〃發(fā)光二極管的處理procedure ONblinkLeds; beginblinkLeds := ON1;commandTransmitNetworkUS('OK'); end;procedure OFFblinkLeds; begin blinkLeds := OFF;comrnandTransmitNetworkUS('OK'); end;procedure ONLedi; begin ledl := 'ON1;commandTransmitNetworkUS('OK'); end 5procedure OFFLedi; beginlech := OFF1; commandTransmitNetworkUS(OK'); e喊procedure ONLed2;begin Ied2 := ON1;commandTransmitNetworkUS(OK'); end;procedure 0FFLed2; beginIed2 := OFF1;commandTransmitNetworkUS(OK');end; procedure find;begincommandTransmitNetworkUS(OK'); end二
全文摘要
該裝置由三個不同模塊組成,即控制單元(UC),一個或多個中繼單元(HUB)以及,帶有傳感器的傳感單元(US)。首先,該裝置為操作者和機器之間在外部的交互的制造進程提供自動的實時時間進程分析。而且當操作者與非完全自動的機器,也就是指大多數(shù)的中小型工業(yè)投資中使用的機器,之間的發(fā)生交互作用時該裝置也能很好的適用于任何重復的產生進程。控制單元(UC),通過一個連續(xù)端口連接至PC(5),并通過一個由兩根雙絞線和RJ11連接器組成的網(wǎng)絡順序串聯(lián)一個或更多中繼單元(HUB)。每個HUB能處理16個傳感單元(US),安裝在生產機器上的每個傳感單元最多能容納3個傳感器。遠程多點式監(jiān)測和時間進程分析的方法中所使用的算法的創(chuàng)新,正是本發(fā)明所提出和帶來的改進之所在。
文檔編號G06F13/00GK101099119SQ200580045929
公開日2008年1月2日 申請日期2005年11月11日 優(yōu)先權日2004年11月11日
發(fā)明者利申·左治·巴多緹 申請人:利申·左治·巴多緹