2024-10-13-01-codesys新建工程

1.


2.

ADD1(IN1:=INS1,IN2:=INS2,ADDOUT=>OUT,SUBDOUT=>); 中的 => 代表什么含義



編程?


=>




在您提供的代碼片段中,`=>` 符號(hào)用于指定函數(shù)調(diào)用中的輸出參數(shù)。這在某些編程語(yǔ)言中,特別是工業(yè)控制編程語(yǔ)言如Structured Text (ST) 中,用來(lái)明確指出哪些參數(shù)是輸出參數(shù)。

讓我們?cè)敿?xì)解析一下這個(gè)函數(shù)調(diào)用:

```pascal

ADD1(IN1:=INS1, IN2:=INS2, ADDOUT=>OUT, SUBDOUT=>);

```

- `ADD1` 是函數(shù)的名稱。

- `IN1` 和 `IN2` 是輸入?yún)?shù),分別被賦值為 `INS1` 和 `INS2`。

- `ADDOUT` 和 `SUBDOUT` 是輸出參數(shù),其中 `ADDOUT` 的結(jié)果將被賦值給變量 `OUT`。

- `SUBDOUT` 后面沒有指定變量,表示這個(gè)輸出參數(shù)被忽略或不使用。

具體來(lái)說(shuō):

- `IN1:=INS1` 表示將 `INS1` 的值傳遞給 `ADD1` 函數(shù)的 `IN1` 參數(shù)。

- `IN2:=INS2` 表示將 `INS2` 的值傳遞給 `ADD1` 函數(shù)的 `IN2` 參數(shù)。

- `ADDOUT=>OUT` 表示 `ADD1` 函數(shù)的 `ADDOUT` 輸出參數(shù)的結(jié)果將被賦值給變量 `OUT`。

- `SUBDOUT=>` 表示 `ADD1` 函數(shù)的 `SUBDOUT` 輸出參數(shù)的結(jié)果被忽略,不會(huì)賦值給任何變量。

這是一個(gè)典型的函數(shù)調(diào)用方式,用于明確區(qū)分輸入?yún)?shù)和輸出參數(shù)。這種方式有助于提高代碼的可讀性和維護(hù)性。

例如,假設(shè) `ADD1` 函數(shù)的定義如下:

```pascal

FUNCTION ADD1 : DINT

VAR_INPUT

? ? IN1 : DINT;

? ? IN2 : DINT;

END_VAR

VAR_OUTPUT

? ? ADDOUT : DINT;

? ? SUBDOUT : DINT;

END_VAR

ADDOUT := IN1 + IN2;

SUBDOUT := IN1 - IN2;

END_FUNCTION

```

在這個(gè)函數(shù)中:

- `IN1` 和 `IN2` 是輸入?yún)?shù)。

- `ADDOUT` 和 `SUBDOUT` 是輸出參數(shù),分別返回 `IN1 + IN2` 和 `IN1 - IN2` 的結(jié)果。

當(dāng)您調(diào)用 `ADD1` 函數(shù)時(shí):

```pascal

VAR

? ? INS1 : DINT := 100;

? ? INS2 : DINT := 50;

? ? OUT : DINT;

END_VAR

ADD1(IN1:=INS1, IN2:=INS2, ADDOUT=>OUT, SUBDOUT=>);

// 調(diào)用后,OUT 將被賦值為 150

```

在這個(gè)例子中,`OUT` 將被賦值為 `150`,而 `SUBDOUT` 的結(jié)果被忽略。





0.

《反斗星》


譚詠麟? 《愛的根源》 《霧之戀》 《愛情陷阱》



//2s 通 1s 斷

t1(IN:=m0 AND NOT T2.Q,PT:=T#1S,Q=>,ET=>ET1);

t2(IN:=t1.Q,PT:=T#1S,Q=>,ET=>ET2);



分析 的 情況;


您提供的代碼段描述了一個(gè)定時(shí)器邏輯,用于實(shí)現(xiàn)一個(gè)2秒導(dǎo)通(ON)和1秒斷開(OFF)的循環(huán)。這里使用了兩個(gè)定時(shí)器 `T1` 和 `T2` 來(lái)實(shí)現(xiàn)這個(gè)功能。讓我們?cè)敿?xì)解析一下這段代碼,并確保其正確性。

### 代碼解析

1. **定時(shí)器 T1**:

? ```pascal

? t1(IN:=m0 AND NOT T2.Q, PT:=T#1S, Q=>, ET=>ET1);

? ```

? - `IN`:輸入信號(hào),當(dāng) `m0` 為 `TRUE` 且 `T2.Q` 為 `FALSE` 時(shí),定時(shí)器 `T1` 開始計(jì)時(shí)。

? - `PT`:預(yù)設(shè)時(shí)間,設(shè)置為1秒 (`T#1S`)。

? - `Q`:輸出信號(hào),當(dāng)定時(shí)器計(jì)時(shí)結(jié)束時(shí)變?yōu)?`TRUE`。

? - `ET`:剩余時(shí)間,計(jì)時(shí)過(guò)程中會(huì)顯示剩余時(shí)間,計(jì)時(shí)結(jié)束后為0。

2. **定時(shí)器 T2**:

? ```pascal

? t2(IN:=t1.Q, PT:=T#1S, Q=>, ET=>ET2);

? ```

? - `IN`:輸入信號(hào),當(dāng) `T1.Q` 為 `TRUE` 時(shí),定時(shí)器 `T2` 開始計(jì)時(shí)。

? - `PT`:預(yù)設(shè)時(shí)間,設(shè)置為1秒 (`T#1S`)。

? - `Q`:輸出信號(hào),當(dāng)定時(shí)器計(jì)時(shí)結(jié)束時(shí)變?yōu)?`TRUE`。

? - `ET`:剩余時(shí)間,計(jì)時(shí)過(guò)程中會(huì)顯示剩余時(shí)間,計(jì)時(shí)結(jié)束后為0。

### 邏輯分析

1. **初始狀態(tài)**:

? - 假設(shè) `m0` 為 `TRUE`,`T2.Q` 為 `FALSE`。

? - `T1` 的輸入 `IN` 為 `TRUE`,開始計(jì)時(shí)1秒。

2. **T1 計(jì)時(shí)結(jié)束**:

? - 1秒后,`T1.Q` 變?yōu)?`TRUE`。

? - `T2` 的輸入 `IN` 為 `TRUE`,開始計(jì)時(shí)1秒。

3. **T2 計(jì)時(shí)結(jié)束**:

? - 1秒后,`T2.Q` 變?yōu)?`TRUE`。

? - `T1` 的輸入 `IN` 變?yōu)?`FALSE`(因?yàn)?`NOT T2.Q` 為 `FALSE`),`T1` 停止計(jì)時(shí),`T1.Q` 變?yōu)?`FALSE`。

4. **T2 保持1秒**:

? - `T2` 繼續(xù)保持 `TRUE` 狀態(tài)1秒。

5. **T2 計(jì)時(shí)結(jié)束**:

? - 1秒后,`T2.Q` 變?yōu)?`FALSE`。

? - `T1` 的輸入 `IN` 變?yōu)?`TRUE`,`T1` 再次開始計(jì)時(shí)1秒。

### 完整代碼

為了確保代碼的完整性和可讀性,以下是完整的代碼示例:

```pascal

VAR

? ? m0 : BOOL := TRUE;? // 假設(shè) m0 為 TRUE

? ? ET1 : TIME;

? ? ET2 : TIME;

? ? T1 : TON;

? ? T2 : TON;

END_VAR

T1(IN:=m0 AND NOT T2.Q, PT:=T#1S, Q=>, ET=>ET1);

T2(IN:=T1.Q, PT:=T#1S, Q=>, ET=>ET2);

```

### 注意事項(xiàng)

1. **初始化**:

? - 確保 `m0` 的初始狀態(tài)為 `TRUE`,以便定時(shí)器邏輯能夠正常啟動(dòng)。

? - 如果 `m0` 為 `FALSE`,則整個(gè)邏輯將不會(huì)啟動(dòng)。

2. **輸出信號(hào)**:

? - 如果你需要使用 `T1.Q` 或 `T2.Q` 的輸出信號(hào),可以在 `Q=>` 后面指定一個(gè)變量來(lái)接收這些信號(hào)。

3. **調(diào)試**:

? - 使用 CODESYS 的監(jiān)視窗口來(lái)觀察 `T1.Q` 和 `T2.Q` 的狀態(tài)變化,確保邏輯按預(yù)期工作。

通過(guò)以上步驟,您可以實(shí)現(xiàn)一個(gè)2秒導(dǎo)通(ON)和1秒斷開(OFF)的循環(huán)邏輯。如果有任何疑問(wèn)或需要進(jìn)一步的幫助,請(qǐng)隨時(shí)告訴我!



如果想完整的搞法:





2.

192.168.0.250

192.168.0.89? 以太網(wǎng)的 ip



3.


3.


4.



0

dennglu登錄到


啟動(dòng)

再? 剛才的 再來(lái)一遍



02


要想 掉電 后不丟失 :


需要? 創(chuàng)建啟動(dòng)應(yīng)用






再次 上電? 就會(huì) 自動(dòng) 啟動(dòng)?




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容