SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1...

128
Schneider Electric Page 1 SoMachine Basic Tommy Chang 0983-630476

Transcript of SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1...

Page 1: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 1

SoMachine Basic

Tommy Chang

0983-630476

Page 2: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 2

Outline

●介面導覽

●程式操作 - 基本操作

- 功能塊

- 脈衝輸出

- 高速計數

- 遠端顯示器

●特殊功能

●程式範例

●影片教學

Page 3: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 3

介面導覽

Page 4: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 4

簡介

• 容量 小容量, 約250Mb

• 電腦系統 Windows 7 Professional 32/64 bit

Windows 8 Professional 32/64 bit

Windows XP Professional SP3

• 完善通訊界面 PC可自動搜尋PLC裝置

支援USB與Ethernet介面

• 操作方便 LD/IL/SFC

Symbol List

中文變數

Trace

專案匯入VJD變數

可從PLC將程式讀回至電腦

• 相容性 可開啟Twdio的程式

→xar,xpr,twd

Page 5: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 5

軟體首頁

Page 6: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 6

開新專案

點選”Create a new Project”

Page 7: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 7

Properties 用途 : 專案名稱與保護機制

Page 8: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 8

Properties Project Protection

程式可觀看但不可做修改

下次開啟這專案,會顯示如下

Page 9: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 9

Properties Application Protection

程式不可觀看也不刻修改

下次開啟這專案,會顯示如下

Page 10: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 10

Configuration 用途 : PLC硬體介面設定

Page 11: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 11

Configuration Digital Input

Filter: Not Filter 3ms 12ms

Page 12: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 12

Configuration Digital Input

Latch:

Page 13: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 13

Configuration Digital Input

Event: Only I0.2~I0.6 ※ Filtering需設定 Not Filter

Page 14: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 14

High Speed Counter 用途 : 高速計數相關設定

Configuration

Page 15: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 15

Configuration Pulse Generators 用途 : 脈衝輸出相關設定(包含PTO/PWM/PLS)

Page 16: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 16

Pulse Generator

1. PLS(Duty cycle of 50%)

2. PWM(Duty cycle of 0~100%)

3. PTO(Pulse/Direction, CW/CCW)

詳細參數設定參考程式編輯部分

Page 17: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 17

Configuration ETH1 用途 : PLC本體乙太網的設定

Page 18: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 18

Configuration ETH1 用途 : 走Modbus TCP使用

Page 19: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 19

Configuration Modbus TCP 用途 : 當PLC當Client,針對Server的IP設定

Page 20: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 20

Configuration SL1 用途 : PLC本體串列埠的通訊設定

Page 21: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 21

Configuration Modbus 用途 : 主/從站及站號設定

Page 22: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 22

Programming

常用工具列(Coil/Contact/ FBs…)

程式編輯區 Task設定

Page 23: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 23

Task種類 1. Master (優先權最小) 2. Periodic(優先權適中) 3. Event(優先權最大)

Page 24: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 24

Tools 種類 Animation_table => 使用者定義的變數監控表 系統變數 => IO/Memory/System object 功能塊配置 => Software/PTO/Communication object

Page 25: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 25

Display TMH2GDB的頁面範例 :

Menu

Monitor

Control table

Bargraph

VU meter

Page 26: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 26

Commissioning 1. Connect => 連接PLC做程式上傳下載使用

Page 27: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 27

基礎程式編輯

Page 28: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 28

基本操作 1. 使用接點和線圈

Page 29: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 29

基本操作 2. 給定變數位址(%M, I, Q, S)

在Address地方輸入期望的變數位址

Page 30: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 30

基本操作 2. 給定變數位址(%M, I, Q, S)

若bit有使用,在Memory bit表單可見

Page 31: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 31

基本操作 2. 給定變數位址(用Symbol方式)

在Memory bits表單中,先設定Bit對應的Symbol Ex: %M1的名字為INPUT1 %M2的名字為OUTPUT1 且在Symbol輸入名字

Page 32: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 32

基本操作 2. 給定變數位址(%M, I, Q, S)

Page 33: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 33

基本操作 3. 自動編譯偵錯

打勾代表此Rung沒錯誤,打叉反之。

Page 34: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 34

基本操作 3. 自動編譯偵錯

Programming旁邊若有打叉,代表此程式某一Rung有問題。

Page 35: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 35

基本操作 3. 自動編譯偵錯

點擊叉號兩下,可得知錯誤訊息

Page 36: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 36

基本操作 4. 電腦模擬(Simulator)

1.開啟Simulator 2.運行PLC

Page 37: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 37

基本操作 5. 變數監控– Animation_table

輸入想監控的變數(Ex : %M0/M1)

用途 : 程式運行中的監控變數表

Page 38: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 38

基本操作 6. 連線PLC

Page 39: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 39

基本操作 6. 連線PLC

若PLC內的程式和電腦專案不同,

會跳出這警告視窗

Page 40: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 40

基本操作 6. 連線PLC

Page 41: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 41

基本操作 7. 運行程式

輸入數值從Value給值。

Page 42: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 42

基本操作 8.Behavior 用途 : 根據不同版次,PLC提供的功能也會不同

Level Descripe

3.1 支援斷電再開PLC維持Run

3.2 支援EntherNet/IP, SMS function

4.0 SINK的PLC,流程圖支援

P.S. Level與PLC韌體版次有關係

Page 43: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 43

基本操作 9. Comparision與Operation block使用

Ex : 當%MW100數值 大於 100時,寫入200數值進%MW200

1.分別拖曳Comparsion block和 Operation block

Page 44: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 44

基本操作 9. Comparision與Operation block使用

1.分別拖曳Comparsion block和 Operation block 2. 在Comparsion expression 寫入”%MW100 > 100” Operation expression 寫入”%MW200 := 200”

Page 45: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 45

基本操作 10. 基本運算符號

Operator Descripe

REM 取餘數

SQRT 方均根

INC 累加1

DEC 遞減1

ABS 絕對值

Page 46: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 46

基本操作 10. 基本運算符號

Operator Descripe

REM 取餘數

SQRT 方均根

INC 累加1

DEC 遞減1

ABS 絕對值

ROL/ROR 左/右位移(循環)

SHL/SHR 左/右位移

LW/HW 取DOWRD的LSB/MSB Word

CONCATW 將兩個WORD組合為一個DWORD

Page 47: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 47

基本功能塊介紹

Page 48: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 48

功能塊介紹 1. Timer

輸入/出點

符號 描述

IN 啟動FB

Q 當%TMi.V = %TMi.P

用途 : 計時器

Object

符號 描述

%TMi.P 目標值 Ex : On-Delay 5s, 此數值為5

%TMi.V 當下值

%TMi.Q 計數器的輸出腳位

Page 49: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 49

功能塊介紹 2. Counter

用途 : 計數器

輸入點

符號 描述

R %Ci.V 設為 0

S %Ci.V 設為 %Ci.P

CU %Ci.V數值加1

CD %Ci.V數值減1

輸出點

符號 描述

E 遞減溢位

D 當%Ci.V =%Ci.P

F 遞增溢位

Page 50: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 50

功能塊介紹 2. Counter

用途 : 計數器 Object

符號 描述

%Ci.V 當下值

%Ci.P 目標值

%Ci.E 當遞減溢位發生,輸出1

%Ci.D 當%Ci.V = %Ci.P,輸出1

%Ci.F 當遞增溢位發生,輸出1

Page 51: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 51

功能塊介紹 3. Drum

用途 : 循環式的Bit輸出控制 輸入/出點

符號 描述

R 設%DRi.S 為 0

U 將%DRi.S 加 1

F 當%DRi.S = 預設的Step數 - 1

Object

符號 描述

%DRi.S 當下值

%DRi.F 溢位值

Page 52: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 52

功能塊介紹 3. Drum

可輸入 %Q和%M

Page 53: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 53

功能塊介紹 4. Step Counter

用途 : 步階流程 輸入/出點

符號 描述

R 設%SCi.j 為0

CU %SCi.j加1

CD %SCi.j減1

Object

符號 描述

%SCi.j Step Count bit i = 0 ~ 7, j = 0 ~ 255

Page 54: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 54

功能塊介紹 5. Schedule Blocks

用途 : 時程規劃表

Page 55: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 55

功能塊介紹 6. LIFO/FIFO

用途 : 資料堆疊 輸入/出點

符號 描述 型態

R Reset Register Bool

I Store Register Value Bool

O Read Register Value Bool

E Empty Register Bool

F Full Register Bool

Object

符號 描述 型態

%Ri.I Intput word INT

%Ri.O Output word INT

%Ri.E Empty output Bool

%Ri.F Full output Bool

附註 : 最多16個Word

Page 56: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 56

功能塊介紹 7. Shift Bit Register

用途 : 位元搬移 輸入/出點

符號 描述

R Reset

CU Shift Left

CD Shift Right

Object

符號 描述

%SBRi Register number

%SBRi.j Register bit

Page 57: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 57

功能塊介紹 8. PID

詳細請參考PID使用手冊(From Box)

Page 58: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 58

功能塊介紹 8. PID

用Application block去使用 PID功能

Page 59: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 59

脈衝輸出介紹

Page 60: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 60

脈衝輸出設定

General 用途: PTO型態與輸出腳位設定

Page 61: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 61

脈衝輸出設定

Mechanics 用途: 背隙補償設定

Page 62: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 62

脈衝輸出設定

Softrware Position Limits 用途: 軟體極限設定

Page 63: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 63

脈衝輸出設定

Motion 用途: PTO的速度/加減速設定

Page 64: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 64

脈衝輸出設定

Homing: 用途: 原點設定 Homing Modes: 1. Long reference 2. Short reference reversal 3. Short reference no reversal

Page 65: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 65

脈衝輸出設定

Probe activation: 用途: TouchProbe腳位設定

Page 66: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 66

Motion State Diagram 運動控制需依循”Motion State Diagram”的狀態限制

Page 67: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 67

MC_Power_PTO 用途 : 啟動運動控制流程

Object

符號 描述

Axis 軸名

ErrorId 錯誤代碼

Input

符號 描述

Enable 啟動

DriveReady 伺服器狀態

LimP 硬體正極限

LimN 硬體負極限

Output

符號 描述

Status FB啟動正常

DriveEnable 伺服器可開始接受運動 命令

Error FB異常

Page 68: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 68

MC_MoveVel_PTO 用途 : 定速移動

Input

符號 描述

Execute 執行

ContUpdate 變更參數

Output

符號 描述

InVel 達到預設速度

Busy 運行中

Active 伺服被控制中

CmdAborted 命令取消

Error 錯誤

Page 69: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 69

MC_MoveVel_PTO Input Object

符號 描述

Axis 軸名

Vel 速度(Hz)

Acc 加速度(Hz/ms)

Dec 減速度(Hz/ms)

Direction 方向

JerkRatio S-Curve參數

BufferMode 運動控制模式

Output Object

符號 描述

ErrorId 錯誤代碼

Page 70: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 70

MC_MoveRel_PTO 用途 : 相對移動

Input

符號 描述

Execute 執行

Output

符號 描述

Done 完成

Busy 運行中

Active 伺服被控制中

CmdAborted 命令取消

Error 錯誤

Page 71: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 71

MC_MoveRel_PTO Input Object

符號 描述

Axis 軸名

Distance 移動距離

Vel 速度(Hz)

Acc 加速度(Hz/ms)

Dec 減速度(Hz/ms)

JerkRatio S-Curve參數

BufferMode 運動控制模式

Output Object

符號 描述

ErrorId 錯誤代碼

Page 72: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 72

MC_MoveAbs_PTO

Input

符號 描述

Execute 執行

Output

符號 描述

Done 完成

Busy 運行中

Active 伺服被控制中

CmdAborted 命令取消

Error 錯誤

用途 : 絕對移動

Page 73: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 73

MC_MoveAbs_PTO Input Object

符號 描述

Axis 軸名

Pos 座標

Vel 速度(Hz)

Acc 加速度(Hz/ms)

Dec 減速度(Hz/ms)

JerkRatio S-Curve參數

BufferMode 運動控制模式

Output Object

符號 描述

ErrorId 錯誤代碼

Page 74: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 74

MC_Home_PTO 用途 : 歸原點運動

符號 描述

Execute 執行

符號 描述

Done 歸原點完成

Busy 運行中

Active 伺服被控制中

CmdAborted 命令取消

Error 錯誤

Page 75: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 75

MC_Home_PTO Input Object

符號 描述

Axis 軸名

Mode 歸原點模式

Pos 原點座標

Direction 方向

HighVel 第一段速

LowVel 第二段速

Acc 加速度(Hz/ms)

Dec 減速度(Hz/ms)

JerkRatio S-Curve參數

Offect 原點後的位移量

Output Object

符號 描述

ErrorId 錯誤代碼

Page 76: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 76

MC_SetPos_PTO 用途 : 修改實際座標位置

符號 描述

Execute 執行

符號 描述

Done 完成

Error 錯誤

Object

符號 描述

Axis 軸名

Pos 座標

ErrorId 錯誤代碼

Page 77: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 77

MC_Stop_PTO 用途 : 停止運動

符號 描述

Execute 執行

符號 描述

Done 停止完成

Busy 運行中

CmdAborted 命令取消

Error 錯誤

Object

符號 描述

Axis 軸名

Dec 減速度(Hz/ms)

JerkRatio S-Curve參數

ErrorId 錯誤代碼

Page 78: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 78

MC_Halt_PTO 用途 : 暫停運動

符號 描述

Execute 執行

符號 描述

Done 完成

Busy 運行中

Active 伺服被控制中

CmdAborted 命令取消

Error 錯誤

Object

符號 描述

Axis 軸名

Dec 減速度(Hz/ms)

JerkRatio S-Curve參數

BufferMode 運動控制模式

ErrorId 錯誤代碼

Page 79: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 79

MC_Reset_PTO 用途 : 清除異常

符號 描述

Execute 執行

符號 描述

Done 完成

Error 錯誤

Object

符號 描述

Axis 軸名

ErrorId 錯誤代碼

Page 80: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 80

MC_ReadAxisError_PTO 用途 : 讀取伺服器異常

符號 描述

Execute 執行

符號 描述

Valid 有效的

Error 錯誤

Object

符號 描述

Axis 軸名

AxisErrorId 伺服器錯誤代碼

ErrorId 錯誤代碼

Page 81: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 81

MC_TouchProbe_PTO 用途 : 啟動Probe Event

符號 描述

Execute 執行

WindowOnly 範圍限制

TriggerLevel 觸發方式

符號 描述

Done 完成

Busy 運行中

CmdAborted 命令取消

Error 錯誤

Object

符號 描述

Axis 軸名

FirstPos Window上極限

LastPos Window下極限

RecordedPos 當下命令位置

ErrorId 錯誤代碼

Page 82: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 82

MC_AbortTrigger_PTO 用途 : 取消TouchProbe指令

符號 描述

Execute 執行

符號 描述

Done 完成

Error 錯誤

Object

符號 描述

Axis 軸名

ErrorId 錯誤代碼

Page 83: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 83

MC_ReadPar_PTO 用途 : 讀取PTO設定參數(PLC本身設定)

符號 描述

Execute 執行

符號 描述

Done 完成

Error 錯誤

Object

符號 描述

Axis 軸名

PartNumber 運動控制參數

Value 數值

ErrorId 錯誤代碼

Page 84: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 84

MC_WritePar_PTO 用途 : 寫入PTO設定參數

符號 描述

Execute 執行

符號 描述

Done 完成

Error 錯誤

Object

符號 描述

Axis 軸名

PartNumber 運動控制參數

Value 數值

ErrorId 錯誤代碼

Page 85: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 85

高速計數介紹

Page 86: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 86

高速計數設定

General Preset : HSC的極限值 Threshold : 1.可外部中斷 2. Reflex Output輸出範圍

Page 87: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 87

高速計數設定

Input 用途 : 輸入腳位功能設定 Preset Input: 接編碼器的Z相 Catch Input: 擷取編碼器當下位置

Page 88: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 88

高速計數設定

Reflex outputs 用途 : 依照Threshold設定輸出Ouput

Page 89: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 89

呼叫高數計數 Function block => High Speed Counter

1

2

Page 90: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 90

呼叫高數計數

此處Preset, S0, S1為HSC硬體設定數值

Page 91: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 91

HSC 用途 : 啟動高速計數

Input

符號 描述

IN 啟動

S 復歸

Output

符號 描述

F 溢位

U 計數方向(0 : Down/ 1 : Up)

TH0 計數值超過%HSCi.S0輸出

TH1 計數值超過%HSCi.S1輸出

Page 92: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 92

HSC Input Object

符號 描述

%HSCi.P 軸名

%HSCi.S0 閥值0

%HSCi.S1 閥值1

%HSCi.T 時間基底

%HSCi.R 映射輸出值0

%HSCi.S 映射輸出值1

Output Object

符號 描述

%HSCi.V 當下計數值

%HSCi.C 擷取值(CAP)

%HSCi.U 方向

%HSCi.F 溢位變數

Page 93: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 93

通訊功能塊介紹

Page 94: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 94

Read Var 用途 : Modbus通訊讀取數值

Input

符號 描述

Execute 觸發

Abort 命令取消

Output

符號 描述

Done 完成

Busy 執行中

Aborted 命令被取消

Error 錯誤

Page 95: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 95

Read Var Object

符號 描述

Link 串列口

Id 站號

Timeout 逾時時間

ObjType 資料型態

FirstObj 設備讀取的起始位置

Quantity 數量

IndexData PLC存放位置

CommError 通訊錯誤碼

OperError 操作錯誤碼

Page 96: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 96

Write Var 用途 : Modbus通訊寫入數值

Input

符號 描述

Execute 觸發

Abort 命令取消

Output

符號 描述

Done 完成

Busy 執行中

Aborted 命令被取消

Error 錯誤

Page 97: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 97

Write Var Object

符號 描述

Link 串列口

Id 站號

Timeout 逾時時間

ObjType 資料型態

FirstObj 設備寫入的起始位置

Quantity 數量

IndexData PLC存放位置

CommError 通訊錯誤碼

OperError 操作錯誤碼

Page 98: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 98

遠端顯示器介紹

Page 99: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 99

畫面規劃 範例 : F1 Key為%MW3的儀表畫面

Step1: SL1設定TMH2GDB

Page 100: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 100

畫面規劃 範例 : F1 Key為%MW3的儀表畫面

Step1: SL1設定TMH2GDB

Page 101: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 101

畫面規劃 範例 : F1 Key為%MW3的儀表畫面

Step2: 新增 “VU meter template”

Page 102: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 102

畫面規劃 範例 : F1 Key為%MW3的儀表畫面

Step3: 設定VU Meter中的變數

Page 103: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 103

畫面規劃 範例 : F1 Key為%MW3的儀表畫面

Step4: F1設定呼叫儀表畫面,接著下載主程式,也會同時載入小人機程式

Page 104: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 104

特殊功能

Page 105: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 105

特殊功能

1. 常用系統變數 2. 停電保持設定 3. VJD匯入SoMachine Basic變數

Page 106: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 106

常用系統變數

System Bits

符號 描述

%S0 PLC重送電,且資料遺失。(Cold start)

%S4~7 Internal clock by time base。 Time base : 10ms/100ms/1s/1min

%S13 PLC的第一次掃描時間會觸發1次。

%S33 更改Modbus TCP/IP的IP位置

%S91 清除PLC內的停電保持

%S92/93/94 設定停電保持功能

%S101 更改Serial of Modbus address

System Words

符號 描述

%SW33/34 IP若等於AA.BB.CC.DD, %SW33=CC.DD/ %SW34=AA.BB 範例 : 若要改IP = 10.11.5.6,則 %SW33=16#0506 = 1286 %SW34=16#0A0B = 2571

%SW101/102 Set Serial 1/2 of Modbus address

%S148 停電保持的數量,最大1000

Page 107: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 107

停電保持

Step1. 確認SoMachine Basic版本是SP2以上, M221的韌體版本是1.3.3.3以上, Behavior設定是Level3.2以上。

Step2. %MW0 ~ 49 是自動停電保持區。 %MW50 ~1049 是需程式規劃的停電保持區(Step3 – 5)。

Step3. %SW148是停電保持區大小。 (Ex 若用到1000 Memory Words, %SW148 設定1000)

Step4. 設定%S93為1,過一小段時間,%S92會變1而%S93回自動變為0。 此時代表PLC中的Falsh有存放資料。

Step5. 若下次要讀取PLC Falsh的資料,只要設定%S94為1後, PLC會從Falsh撈取資料放至Memory Word中。

用途 : PLC斷電再開後,變數資料須保存不被初始化。

Page 108: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 108

VJD匯入SoMachine Basic的變數 用途 : 人機使用與M221專案相同的變數

Step1. 開啟SoMachine Basic,建立一個新專案。 附註 : 1. SoMachine Baisc SP2以上。 2. M221型號需選有支援Ethernet,且在Modbus TCP 輸入一組IP 位址。

Step2. 開啟VJD6.2,建立一個新專案。 在主畫面中Navigator子畫面中→Variable → Link Variable。

Step3. 此時會跳出一個視窗,在Files of type選擇SoMachine Basic project files(*Smbp)

Step4. 依照使用者需求去添加在VJD上所要使用的變數。 此時VJD使用的變數(名稱/位址)都跟PLC一樣。

Step5. 若PLC專案有修改到變數,則可藉由 主畫面中Navigator子畫面中→Variable → Update Link去更新變數。

Page 109: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 109

範例程式

Page 110: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 110

範例1 – 計時器 目的: 當M0啟動,計時器為4S的On-Delay,當M1啟動,計時器為8S的On-Delay。 當M2啟動,計時器啟動且計時器的輸出點做為PLC的Q0.0輸出。

Page 111: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 111

範例1 – 計時器 %TM0.P為修改計時器的計時時間。 (參考page 49, Timer的Object部分)

Page 112: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 112

範例1 – 計時器 %TM0.Q為計時器的輸出腳。 (參考page 49, Timer的Object部分)

Page 113: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 113

範例2 – PTO 目的: 當M0啟動,伺服要走兩圈的定距移動。(一圈為10000 pulse) 當M1啟動,伺服要走三圈的定距移動。 當M2啟動,伺服走定距移動,當定距移動完成,輸出PLC的Q0.4

接下頁

Page 114: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 114

範例2 – PTO

Page 115: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 115

範例3 – HSC 目的: 讀取Encoder的數值(包含Z相與抓取計數器當下位置功能)

讀取Encoder的數值 選擇Dual Phase

若要Z相, Preset須選擇

若要抓取當下位置, Catch須選擇

Page 116: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 116

範例3 – HSC 目的: M0為高速計數功能啟動,M1為高速計數的計數值歸零(軟體歸零) MW0為當下計數值,MW1為擷取的當下位置(I0.3)

Page 117: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 117

範例4 – Modbus通訊 目的: 讀取設備數值, (1)讀取站號10的MW0,1,2,存放至M221的MW100,101,102的記憶體中。

Page 118: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 118

範例4 – Modbus通訊 目的: 寫入設備數值, (1) 將M221的MW21,22的數值,寫入站號6的MW5,6中。

Page 119: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 119

範例5 – 停電保持 目的: 1.設定1050個Word為停電保持變數(MW0~1049)且每30秒存取一次。(大約可保持2年)

2.設定Memory Bit為停電保持

Page 120: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 120

範例5 – 停電保持 目的: 2. 設定Memory Bit為停電保持 附註: 1. 因為M221不支援Bit的停電保持,因此需要用一個Word拆成16Bits, 用Word的停電保持方法(承上頁)去儲存。 2. Word最多可有1050個停電保持,因此Bit的最大停電保持個數可為(1050*16)個

Page 121: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 121

範例6 – 數值加減乘除 目的: M0 觸發 MW7 = MW5 + MW6,M1 觸發 MW7 = MW5 + MW6, M2 觸發 MW7 = MW5 x MW6,M3 觸發 MW7 = MW5 / MW6。

Page 122: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 122

範例6 – 浮點數加減乘除 目的: M0 觸發 MF9 = MF5 + MF7,M1 觸發 MF9 = MF5 + MF7, M2 觸發 MF9 = MF5 x MF7,M3 觸發 MF9 = MF5 / MF7。

附註 : MF5包含MW5+6,MF6包含MW6+7。

Page 123: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 123

範例7 – 類比校正範例 目的: MF0 : 實際電壓數值,MW2/MF10/MF12 : 計算運用的暫存值, MW3 : Offset的電壓數值,MW4 : 模擬類比模組CH1的數值

Page 124: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 124

影片教學

Page 125: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 125

影片教學

1. 將程式寫入PLC中 2. PTO 3. HSC 4. 外部中斷的副程式使用

Page 126: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 126

Questions?

Page 127: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 127

THANK YOU.

Page 128: SoMachine Basic - sunyan · 程式範例 影片教學 ... sqrt 方均根 inc 累加1 dec 遞減1 abs 絕對值 rol/ror 左/右位移(循環) shl/shr 左/右位移 lw/hw 取dowrd的lsb/msb

Schneider Electric Page 128 Schneider Electric Page 128