2014年11月8日 星期六

剛性?強度?螺桿安裝時的剛性探討

強度:是材料在外力作用下抵抗"永久"變形的能力!
剛性:是材料在外力作用下抵抗變形的能力!


(在材料力學理,強度又稱為硬度,很多人會以為硬度就是剛性,這就是讓人誤解的地方!)
因此,一個材料的強度及剛性會跟彈性模數和有關,,也會跟材料的特性有關!
總之,因為材料的不同,強度跟剛性會有一個數值的轉換關係!
然後,講這麼多絕對有有新名詞出現:"勁度","韌性",…….
勁度其實就是剛性!!
而韌性是指當承受應力時對折斷的抵抗,其定義為材料在破裂前所能吸收的能量與體積的比值。
(所以韌性可以看成當材料受到外力作用,產生彈性變形,然後到達塑性變形階段,最後斷裂的那一剎那為止所吸收的力量與材料體積的比值。)
=====================================
當機械組裝的剛性又如何?
以下是螺桿安裝時的剛性探討:
https://drive.google.com/file/d/0B7I3t8UCbMLERlhYOG1TSmtkWjA/view

2014年11月7日 星期五

伺服增益沒調好,對路徑的關系!?

當伺服增益越低時,命令位置,跟馬達實際位置,會差距大,
但伺服增益越高,會引發機械共振,
如何使伺服增益在最合適的值,是就調機的重點了。


2014年11月4日 星期二

伺服馬達增益(剛性)介紹

伺服馬達的增益在參數裡就是主要指,位置控制增益(KPP)、速度控制增益(KVP)、速度積分補償(KVI)這三個主要項目。其餘相關的細項不在本篇做一一介紹。


位置控制增益(KPP):
位置控制增益決定位置回路的應答性,位置控制增益值設定越大對於位置命令的追隨性佳,位置誤差量越小,定位整定時間越短,但是過大的設定會造成機台產生抖動或定位會有過衝(overshoot)的現象。

建議設定值:位置回路響應頻率(Hz)=KPP/2π



速度控制增益(KVP):
速度控制增益決定速度控制回路的應答性,速度控制增益設越大對於速度命令的追隨性越佳,但是過大的設定容易引發機械共振。速度回路的頻率必須比位置回路的頻率高 4~6倍。當應頻率比速度響應頻率高時,機台會產生抖動或定位會有過衝(overshoot)的現象。
速度控制增益值越大,頻寬越大,速度上升時間越短,但過大時系統的相位邊界越低。速度控制增益對於動態追蹤誤差(速度命令的追隨性),具有明顯的幫助。

建議設定值:速度回路響應頻率(Hz)=KVP/[(1+負載慣量比)X2π]



速度積分補償(KVI):
速度積分補償越大對固定偏差消除能力越佳,過大的的設定容易引發機台的抖動。
速度積分補償值越大,低頻增益越大,穩態追蹤誤差(定位誤差)越快變成零,但系統相位邊界大幅降低。對於穩態追蹤誤差,速度積分補償有明顯幫助。但對動態追蹤差(速度命令的追隨性),速度積分補償沒有明顯的幫助。

建議設定值:KVI≤1.5X速度回路響應頻率

2014年11月3日 星期一

三菱MITSUBISHI MOTION PLC Q173、Q172編程手冊

三菱MITSUBISHI MOTION PLC Q173、Q172編程手冊

可以到以下網址下載:
https://drive.google.com/file/d/0B7I3t8UCbMLEak5sUEFYTGtMeFk/view?usp=sharing

2014年10月27日 星期一

PLC新手不適應,

01上的文章:
請教自動控制業前輩 想跳脫PLC轉PC寫程式 的方向
http://www.mobile01.com/topicdetail.php?f=651&t=4129716

好像也是耶!!!
1.老闆始終認為你只是在那邊打打電腦沒什麼
2.客戶常常突然要求更改或加動作導致程式要大改
3.老闆拼命節省硬體成本導致程式難寫BUG變多
4.寫程式時間 一再被壓縮 導致必須一直加班趕工 壓力很大
5.薪水不會跟著你的能力而明顯成長
6.會寫的人太多 老闆覺得不差你一個 看不到寫得好與會寫的差別

但是:
1.打電腦沒什麼,但老闆不把你fire是因為,客戶機台有問題又非找你不可,對公司很重要。
2.客戶改動作,程式大改,常遇見,但客戶的動作不一定是正確,要先討論,再改,不然會一改再改,通常討論完,程式的架構就完成了。
3.節省硬體,跟產品有新製程是一樣的,用新的東西,可以學到更多的東西,訓練自已的能力,永遠只會一種東西,等著被淘汰。
4.寫程式越久,應該會有自已的一套架構/模組化,但最後就是東copy西copy,改一改就完成了。
5.薪水在這家公司不會成長,但明顯這家公司給你很多機會,等學的夠多夠廣,換工作的薪水,就是你來喊的。
6.問題處理速度越快,客戶抱怨越少,當老闆第一個想到的是你,那你不重要嗎,這都代表寫的好。如果公司老闆都隨便抓人,表示你的程度跟其他人一樣,怎麼算寫的好?

結論:
如果這間公司有好的師父可以帶領,就可以學的非常非常多的東西。
如果沒有會很累,對自已(自學)沒信心,就可以換一換。

天下間沒有最穩不倒的公司,
之前的諾基亞、柯達、台灣有勝華,
都曾經很大,但最終都倒下了,
就算讓你好遇進了大企業,
但沒有學到東西,加強自已能力,
等到公司倒了才發現,自已什麼都沒有,
那又如何?
所以唯有加強自身的能力,
讓每家公司搶著要,
就不怕沒工作了。


PLC相關工作怎麼找?
http://vkinngworld.blogspot.tw/2014/05/plc-1.html
PLC相關工作怎麼找? -2
http://vkinngworld.blogspot.tw/2014/05/plc-2.html

2014年9月25日 星期四

串列通訊模組 QJ71C24

串列通訊模組  C24

G.INPUT 指令說明(讀入接收的資料)
G.OPUT 指令說明(傳出暫存器的資料)
ZP.CSET 指令說明  清除接收區的BUFFER旗標(不建議使用)



接頭型式(RS232 or RS422/485)

     型號
接頭
QJ71C24
QJ71C24N
QJ71C24N-R2
QJ71C24-R2
QJ71C24N-R4
CH1
RS-232
RS-232
RS-422/485
CH2
RS-422/485
RS-232
RS-422/485
1.傳輸速度C24N最快可達230400bps(只有ch1)
2.CH1+CH2傳輸速率最大230400例:ch1=230400時,ch2只能=0
3.monitoning模式,最快只有115200(ch1+ch2)













RS232 長度MAX 15
RS422/485長度MAX 1200

RS422 & RS485的差別:

在本質上RS422是屬於4線式,RS4852線式
RS422SDA接到RDASDB接到RDB。由SDA&SDB接外部裝置~也是2線式~
PS:如果RS422接用此接法時,當傳送資料時,模組本身會收到自已發出的資料。





RS232 PIN1 CD接腳說明:

CD=Carrier detect 傳送檢查功能,當有資料要接收時,CD要收到ON的信號。
CD功能可以在ADDRESS 151/311中去設定關閉/開啟。
接法:






模組輸入輸出點 (X/Y)


X0
CH1傳送正常
Y0
CH1傳送要求
X1
CH1傳送發生異常
Y1
CH1接收要求
X2
CH1傳送中
Y2
CH1模式切換
X3
CH1接收正常完成
Y3
禁止使用
X4
CH1接收異常
Y4
X5
FOR SYSTEM
Y5
X6
模式切換(NO USE)
Y6
X7
CH2傳送正常
Y7
CH1傳送要求
X8
CH2傳送發生異常
Y8
CH1接收要求
X9
CH2傳送中
Y9
CH1模式切換
XA
CH2接收正常完成
YA
禁止使用
XB
CH2接收異常
YB
XC
FOR SYSTEM
YC
XD
模式切換(NO USE)
YD
XE
CH1異常發生
YE
CH1 異常清除
XF
CH2異常發生
YF
CH2 異常清除
X1E
READY~
Y1E


PS:當使用G.input & G.output指令時,就不需要使用傳送/接收要求的Y接點。






Switch設定

1.      如果是對應其他三菱系列的產品,無所調整switch,即可連線~
CH1=switch 1,CH2=switch 3
b7
b6
b5
b4
b3
b2
b1
b0









CH1 SIDE








CH2 SIDE
bit
功能說明
OFF(0)
ON(1)
註解
b0
operation setting
獨立
LINK
CH1 always off
b1
data bit
7
8

b2
parity bit
no
yes

b3
even/odd parity
odd
even

b4
stop bit
1
2

b5
sum check code
no
yes

b6
write duning RUN
prohibited
allowed

b7
模式切換
prohibited
allowed
always off











b5=sum check用於MC Protocol & Bidirectional Protocol

Communication rate
(Unit:bps)
Bit position
Communication rate
(Unit:bps)
Bit position
b15~b8
b15~b8
50
0FH
14400
06H
300
00H
19200
07H
600
01H
28800
08H
1200
02H
38400
09H
2400
03H
57600
0AH
4800
04H
115200
0BH
9600
05H
230400
0CH











建議使用9600,雜訊較少~

SWITCH 2 & 4 設定
set number
說明
0H

1H
MC protocol
2H
Format 2
3H
Format 3
4H
Format 4
5H
Format 5
6H
Non procedure protocol
7H
Bidirectional protocol
8H
For linked operation

switch5 設定站號。MAX=1FH



MC protocol & Non procedure protocol & bidirectional protocol

MC protocol 屬於三菱本身的通訊協定~
可參照Communication Protocol Reference Manual 手冊,3-13頁開始有格式
如果跟個人電腦連絡,也可使用此格式。

Non procedure protocol 沒有任何定義。
適合MODBUS使用~與一般外部裝置連結~

bidirectional protocol 屬於2向溝通的協定~



data bit  7 or 8的差異~

資料內容的差異:
Data bit = 7時,只能表現出0-127(00H-7FH)的數值。
Data bit = 8時,就可以表現在0-255(00H-FFH)的數值。

傳輸速度的差異:
當資料大的時候,Data bit=8,明顯會比7的慢。

如果是以ASCII碼在使送時,建議使用7位元就好~
因為ASCII數值到127就夠用了~





模組參數位址設定

CH1
CH2
功能說明
150(96H)
310(136H)
傳送資料,以0=WORD / 1=BYTE為單位
151(96H)
311(137H)
CD檢測功能。預設=1關。  0=開。 for Rs-232
162(A2H)
322(142H)
傳出BUFFER區起始位址。預設CH1=400H/CH2=800H
163(A3H)
323(143H)
傳出BUFFER區的大小。預設200H
164(A4H)
324(144H)
接收長度。
165(A5H)
325(145H)
結束碼。預設0D0AH 設定範圍00H~FFH
FFFFH=NO USE
166(A6H)
326(146H)
接收BUFFER區起始位址。預設CH1=600H/CH2=A00H
167(A7H)
327(147H)
接收BUFFER區的大小。預設200H
168(A8H)
328(148H)
接收BUFFER區旗標。
***直接清除此參數,可達到CSET的功能。


*下面表示的位址為預設值,可以上表中去修改~
CH1
CH2
功能說明
1024(400H)
2048(800H)
傳送資料數量
1025~1535
(401H~5FFH)
2049~2559
(801H~9FFH)
傳送資料暫存區
1536(600H)
2560(A00H)
接收資料數量
1537~2047
(601H~7FFH)
2561~3071
(A01H~BFFH)
接收資料暫存區





LINK功能說明


LINK功能,可以把此模組,當成一個中繼站~
CH1 (RS232) 收到信號時,會自動由CH2 (RS422/485)發出。~
CH2 (RS422/485) 收到信號時,會自動由CH1 (RS232) 發出。
不需另外寫程式~

示意圖:
CH1有信號進來時,LINK功能會自動轉由CH2出去~C24模組本身還是可以取到信號







接收數量&結束碼


C24模組遇到接收數量到達或收到結束碼時,都會將接收完成信號觸發~
CH1=X03CH2=X0A,表示已經接收完成,同時會把BUFFER旗標歸0

一般正常環境下來說,可以藉由接收數量來判斷是否已經接收完成~
但如果在雜訊進來的情形下,可以會導致多收一個字元進來~
所以如果利用接收數量來判斷是否完成時,最好每次都做BUFFER旗標清除的動作~

BUFFER旗標  CH1=A8HCH2=148H
指示目前接收到的資料要放到那個位置上~

例:
正常情況下,只有收到10BYTE(沒結束碼),所以以10BYTE為接收數量~
當雜訊產生,進來11BYTE
C24收到10BYTE,把接收信號(X03/X0A)觸發~
但第11個信號會被放第一個位置上~
如果下次接收開始前沒做旗標清除的動作,第二次的第一個BYTE就會被擺到第二個BYTE的位置上,而導致所有資料偏移。

相同情形如果發生在結束碼時,
因為是利用結束碼來當信號,
所以不管10BYTE or 11BYTE進來,都是以收到結束碼為觸發X03/X0A的信號。所以只有在收到11BYTE的當次,會有錯誤。
下一次不需清除旗標也會正常。

所以:
1.當用接收數量來判斷接收完成時,每次都要清除BUFFER旗標,不然當雜訊進來,所以資料會偏移。
2.如果是利用結束碼來判斷時,則只要把接收數量設定為2倍以上的接收數量,就不會有問題了。(不需去清除BUFFER旗標)





G.OUTPUT指令格式:G.OUTPUT  Un  S1 S2 D1

(不可跟ZP.CSET & G.INPUT 同時執行)
S1=設定Channel NUMBER
S1+1=Error code(系統回傳)
S1+2=發送數量(WORD(預設)/BYTE)
(發送數量的單位,可以在96H(CH1)/136H(CH2)中來選擇~)
====      
S2 發送資料的起始暫存器,發送的資料需連續。
====
D1 發送完畢信號(BIT)
D1+1=發送有錯誤。
====
BYTE為單位,16BIT(2BYTE)暫存器,可存2ASCII碼,會送出2~
8位元先送出:
例:D120=3031H èASCIIè先送1(31H),再送0(30H)
========
發送數量的單位,可以在96H(CH1)/136H(CH2)中來選擇~
96H=0CH1,以WORD來算發送數量。
136H=1CH2,以BYTE來算發送數量。

相同情形下,要發送D120的值=3031H  ASCII=10
WORD來算,要設定1
BYTE來算,要設定2
範例程式:






G.INPUT指令格式:G.INPUT    Un    S   D1   D2

(不可跟ZP.CSET & G.INPUT 同時執行)
S=Channel number
S+1=回傳錯誤碼(by system)
S+2=接收到的資料筆數(by system)
S+3=允許接收的資料筆數
D1=接收資料存放區
D2=接收完成(成功/失敗)(bit)
D2+1=接收失敗
====
X03/X0A=模組有接收到正常資料。(CH1/CH2)
X04/X0B=模組有接收到異常資料。
如果資料沒有被取走,信號會一直ON
可以利用這2個信號去觸發G.INPUT
G.INPUT讀取完成時X03/X0A,會馬上OFF
這時候跟G.INPUT的完成信號(D2)有點時間差~
所以利用X03/X0A來呼叫副程式接受資料時,
記得下降緣也再呼叫一次接收副程式。
否則因為X03/X0A OFF之後,D2會無法在副程式看到ON

範例程式:






ZP.CSET指令格式:ZP.CSET  “Un”  S1 S2 D1 D2

S1=Channel number
S2=0
S2+1=0正常。不等於0就是錯誤碼(by system)
S2+2=4  接收資料區buffer旗標清除。(Receive data clear request)
S2+3 ~ S2+111  FOR SYSTEM USE

D1 沒有使用
D2 清除指令完成
D2+1 清除動作中有異常~


範例程式:


D116=清除完成次數
D117=清除有異常

PS:不建議使用
如需使用清除接收buffer區旗標,可以直接去清除位址~
CH1=168(A8H)CH2=328(148H)