gk141380
級別: 正式會員
|
ST結構體!類似C語言,但是看不懂。。。查過三菱ST編程手冊,但是講的不夠具體。 求好心人轉換為梯形圖 |
---|---|
|
gk141380
級別: 正式會員
|
SET_M(winderStart&winderstop,winderlowspeed); RST_M(NOT Angleextremelimi OR winderStart=FALSE&winderstop=FALSE ,winderlowspeed); winderrun:=relay&Angleextremelimi; SET_M(NOT Angleextremelimi&winderstop&winderStart OR winderStart ,relay); RST_M(NOT winderstop ,relay); IF winderstop=TRUE&winderlowspeed=TRUE&Angleextremelimi=FALSE THEN relay:=TRUE;END_IF; MOVE_E(Anglesignal>=11500,K0,winderspeed); Angle_v:=(Anglesignal/60)-104; winderfaultzs:=invfault&SM412 OR Anglesignal>=12000&relay&NOT winderlowspeed&SM412; winderrunzs:=relay&SM412&NOT Angleextremelimi OR winderlowspeed OR winderrun; MOVE_E(relay&Anglesignal<12000&CUT_speed=0,K600,winderspeed); IF Anglesignal<12000&relay&CUT_speed>0 THEN Saving1:=INT_TO_REAL(CUT_speed)+(INT_TO_REAL(Anglesignal)-e6000); Saving2:=(INT_TO_REAL(p_Increase)*e3.14*e286/e1000)/INT_TO_REAL(K80); winderspeed:=REAL_TO_INT(Saving1/Saving2); END_IF; MOVE_E(winderspeed>=16000,K16000,winderspeed); 。。。 VAR_INPUT winderStart Bit VAR_INPUT winderstop Bit VAR_INPUT Angleextremelimi Bit VAR_INPUT Anglesignal Word[Signed] VAR_INPUT invfault Bit VAR_OUTPUT winderrun Bit VAR_OUTPUT winderlowspeed Bit VAR Saving1 FLOAT (Single Precision) VAR Saving2 FLOAT (Single Precision) VAR relay Bit VAR_OUTPUT winderspeed Word[Signed] VAR_OUTPUT winderfaultzs Bit VAR_OUTPUT winderrunzs Bit VAR_OUTPUT Angle_v Word[Signed] VAR_INPUT p_Increase Word[Signed] VAR_INPUT CUT_speed Word[Signed] |
---|---|
|
brian
起昇電控工作室
級別: 工控俠客
|
本來在施耐德代理商下工作用的就是這種iec語法,未來將離職要換工作就是想用這種方式寫三菱的plc,目前是連fx3s都可以這樣寫所以還算方便. |
|
---|---|---|
|
gaogaiga
新會是全廣東工資最低。
級別: 家園常客
|
有高手解釋一下這句嗎 IF Anglesignal<12000&relay&CUT_speed>0 THEN Anglesignal是word relay是bit CUT_speed是word 位和字是怎樣“與”的? 位最大也就是1,000000001和任何數與操作,最后不是0就是1吧 [ 此帖被gaogaiga在2017-08-09 17:23重新編輯 ] |
---|---|
|
gaogaiga
新會是全廣東工資最低。
級別: 家園常客
|
[Anglesignal<12000] & relay & [CUT_speed>0 ] 哦,明白了是位的與操作,是LD<和LD>的串聯 |
---|---|
|
zmrs163
級別: 家園?
|
RSTM,SETM應該是函數,函數用的時候不用加標簽,其他的都是條件選擇語句,沒什么復雜的。ST就那么幾條語句,處理數據方便些而已 |
---|---|
|
daniel4587
級別: 探索解密
|
這個很好理解啊,比梯形圖好u多了,只要有一點點的c語言基礎就可上手,而且就好像用英語把事情說明白那樣,程序就寫完呢。而且還可以重復使用,修改也簡單,多是符號地址,調試就是對點的事。 |
---|---|
|
solidgzq
級別: 家園?
|
其實用太多三菱函數反而把ST的容易移植的優點和可讀性變差了 SET_M(winderStart&winderstop,winderlowspeed);變成 if winderStart&winderstop then; winderlowspeed :=1; end_if; MOVE_E(winderspeed>=16000,K16000,winderspeed);變成 if winderspeed>=16000 then; winderspeed :=16000; end_if; 可讀性好,而且可以直接移植給其他品牌的PLC用 |
---|---|
|