Professional Documents
Culture Documents
(Plc4me - Com) HDSD Logo 0ba7 TV
(Plc4me - Com) HDSD Logo 0ba7 TV
LOGO! 0BA7
1. Kết nối LOGO! với máy tính lập trình qua cổng Ethernet
3. Truyền thông LOGO! – LOGO! theo kiểu master – slave (mở rộng tín hiệu vào ra)
Bản hướng dẫn sử dụng chính thức của LOGO! có thể tải về tại website Service & Support::
http://support.automation.siemens.com/WW/view/en/50074616
Kết nối LOGO! với máy tính lập trình qua cổng Ethernet 1
Có thể kết nối trực tiếp LOGO! với máy tính hoặc kết nối thông qua Hub/Switch mạng ethernet.
Cổng ethernet của LOGO! sẽ nhận dạng loại cáp là chéo hay thẳng và tự động chuyển mạch
để sử dụng được với cả 2 loại cáp.
Lưu ý:
Truyền thông giữa LOGO! 0BA7 và máy tính chỉ có thể qua truyền thông ethernet. Trong trường hợp
cổng ethernet của máy tính đã được sử dụng cho ứng dụng khác, thì có thể dùng bộ chuyển đổi
USB/Ethernet để kết nối.
Địa chỉ IP của LOGO! được cài đặt mặc định khi xuất xưởng và có thể thay đổi khi sử dụng.
Trên màn hình của LOGO!, vào Menu và chọn Network, IP để đọc và thay đổi địa chỉ IP. (ví dụ
địa chỉ IP 192.168.0.10, subnet mask: 255.255.255.0)
Tiếp theo là cài đặt địa chỉ IP cho máy tính. Chọn kết nối ethernet đang sử dụng để kết nối với
LOGO! (vào Start; Settings; Network connections). Mở Properties, chọn Internet Protocol
TCP/IP và mở Properties. Cài đặt địa chỉ IP và subnet mask thích hợp với địa chỉ và subnet
mask của LOGO! (ví dụ cài đặt địa chỉ là IP là 192.168.0.20; Subnet mask: 255.255.255.0)
(hình 1).
Hình 1
Tạo kết nối LOGO! – máy tính trong phần mềm LOGO!Soft Comfort
Mở phần mềm LOGO!Soft Comfort, chọn Tools; Options; Interface; Ethernet. Dùng nút “Add”
để tạo một kết nối mới. Nhập vào địa chỉ IP, subnet mask của LOGO! muốn kết nối (hình 2)
Hình 2
Hình 3
Bạn đã kết nối thành công, bây giờ đã có thể download/upload chương trình cho LOGO! từ
máy tính bằng phần mềm LOGO!Soft Comfort.
Chuẩn bị thiết bị
Ở truyền thông này, cả 2 LOGO! đều ở dạng master. Một master đóng vai trò là server, mas-
ter còn lại là client.
Chọn chế độ hoạt động là “Normal” (Tools, Transfer, Configure Normal/slave mode), và đặt
địa chỉ IP cho cả 2 LOGO!. Trong ví dụ này, LOGO! đóng vai trò server có IP 172.16.202.14
và subnet mask 255.255.255.0, LOGO! đóng vai trò client có IP 172.16.202.2 và subnet mask
255.255.255.0.
Để đặt các địa chỉ IP và subnet mask này: vào "Network; IP address" trên màn hình của
LOGO!
Lưu ý:
Địa chỉ IP và subnet mask của máy tính và của các LOGO! phải được đặt sao cho các thiết bị này cùng
chung một lớp mạng. Trong ví dụ này, máy tính có IP 172.16.202.20, subnet mask 255.255.255.0. (vào
TCP/IP trong network connection để đặt).
Sau đó tạo kết nối mới bằng cách nhấn phải chuột vào "Ethernet Connections" và chọn "Add
connection".
Chọn “Server connection: responds to…”. Nhập TSAP ở “Remote Properties (Client)” (là số
TSAP của kết nối tương ứng được tạo ra trên chương trình của LOGO! làm client. Số này có
thể nhập sau, khi đã viết chương trình cho LOGO! làm client)
Sau đó viết chương trình. Trong ví dụ này, tín hiệu analog từ cổng AI1 và tín hiệu tần số từ
cổng I3 sẽ được truyền đến LOGO! client.
Một tín hiệu tần số khác cũng được đọc, tín hiệu này từ LOGO! client truyền đến.
Cài đặt thông số cho Analog network input (hàm NAI1 trong hình trên). Double click vào hàm,
chọn VM, địa chỉ là VW 5. Địa chỉ VW 5 này cho biết hàm này sẽ lấy giá trị từ ô nhớ VW 5 của
LOGO! server.
Khi viết chương trình cho LOGO! client, sẽ phải khai báo việc client sẽ ghi dữ liệu vào ô nhớ
VW 5 này của LOGO! server.
Bây giờ sẽ khai báo những giá trị nào sẽ được LOGO! Server truyền qua LOGO! Client. Vào
"Tools; Parameter VM Mapping". Chọn giá trị cần truyền qua LOGO! Client, ô nhớ lưu trữ dữ
liệu này trên LOGO! server cũng được hiển thị. Như trong hình phía dưới, 2 giá trị truyền đi có
kiểu dữ liệu là word ( 1 word bằng 2 bytes), địa chỉ là VW 0 và VW 2
Ghi nhớ các ô nhớ này, vì trong chương trình ở LOGO! Client, phải có hàm đọc các ô nhớ này.
Nhấn phải chuột vào "Ethernet Connections", chọn "Add connection" để tạo kết nối mới. Chọn
“Client connection: Requests data...”, nhập TSAP của kết nối tương ứng đã có khi viết
chương trình trên LOGO! sever vào “Remote Properties (Server)”, nhập địa chỉ IP của LOGO!
server vào.
Trong bảng “Data transfer (Read: Local...”, khai báo bao nhiêu dữ liệu (bao nhiêu byte) sẽ
được truyền (Write) hoặc nhận (Read) với LOGO! server, địa chỉ của các dữ liệu này trên cả 2
LOGO! cũng cần được khai báo.
Trong ví dụ này, 4 bytes dữ liệu sẽ được đọc (tương đương với 2 words: VW 0, VW 2 trên
server), 2 bytes dữ liệu ( 1 word, VW 5) sẽ được truyền đến server.
Viết chương trình như dưới đây. Chương trình nhận 2 giá trị analog và giá trị tần số từ server,
và gửi giá trị tần số từ cổng vào I3 đến server.
Cài đặt thông số cho 2 hàm “Analog network inputs” NAI1 và NAI2. 2 hàm này đọc giá trị ô
nhớ chứa các dữ liệu này trên LOGO! client (địa chỉ “Address (local)” đã khai báo trong bảng
“Data transfer” ở trên).
Dữ liệu truyền
Khi đọc (Read) và truyền (Write) dữ liệu, bạn có thể khai báo địa chỉ dữ liệu bất kỳ nơi đâu
trên LOGO! truyền và nhận dữ liệu (trong mục Address (Local) và Address (Remote).
Các bảng đưới đây mô tả vùng nhớ, địa chỉ vùng nhớ của LOGO! trong trường hợp LOGO!
làm client:
Khi đọc dữ liệu (Read):
Lưu ý:
Kiểu dữ liệu:
• VB: Variable byte – Vùng nhớ V
• DB.DBB: Data block byte
• MB: Flag byte
• IB: Input byte – Byte dữ liệu các tín hiệu vào dạng số
• QB: Output byte - Byte dữ liệu các tín hiệu ra dạng số
Đọc/gửi dữ liệu dạng bit (vùng nhớ M), tín hiệu vào/ra số (vùng nhớ I,Q)
Với các dữ liệu này, chỉ cần khai báo ở bảng “Data transfer” khi tạo kết nối mới ở LOGO!
client. Không cần khai báo ở “Parameter VM Mapping” trên cả 2 LOGO! server và client
Hàng 1: Các ngõ vào I1 tới I8 của LOGO! server được client đọc và lưu vào vùng nhớ VB0
Hàng 2: Các ngõ ra Q1 tới Q8 của LOGO! server được client đọc và lưu vào vùng nhớ VB1
Hàng 3: Các bít M1 đến M8 của LOGO! sever được client đọc và lưu vào vùng nhớ VB2.
Hàng 4: Các ngõ vào I1 tới I8 của client được gửi đến vùng nhớ VB0 của server.
Hàng 5: Các ngõ ra Q1 tới Q8 của client được gửi đến vùng nhớ VB1 của sever
Hàng 6: Các bít M1 đến M8 của LOGO! client được gửi đến vùng nhớ VB2 của server.
Để sử dụng các dữ liệu này trong chương trình điều khiển, dùng hàm “network input“ để lấy giá trị
Bảng dưới đây cho thấy dữ liệu Bit đọc được nằm ở vị trí nào trong 1 byte ô nhớ vùng V (VB):
Qua bảng trên có thể thấy: Vùng nhớ IB có giá trị là IB0, IB1, IB2, vì LOGO! mở rộng được tối
đa 24 tín hiệu vào số. Vùng nhớ QB là QB0, QB1 vì LOGO! mở rộng tối đa được 16 tín hiệu
ra số.
Để có thể xem cùng lúc hai chương trình, vào “Tools, option, document view”, chọn “Internal
Window”, sau đấy lần lượt mở hai chương trình LOGO! server và client.
Chạy mô phỏng bằng cách: lần lượt ở mỗi chương trình, chọn “Simulation”, sau đấy chọn
“Simulation in network’” như hình bên dưới.
Bây giờ đã có thể giả lập, thay đổi các giá trị truyền để kiểm tra việc truyền thông giữa hai
LOGO! đã hoàn thành hay chưa.
Chuẩn bị thiết bị
Trong phần này, một LOGO! sẽ đóng vai trò master (LOGO! này chạy chương trình điều
khiển), một LOGO! đóng vai trò slave (LOGO! slave này làm module mở rộng tín hiệu vào/ra
cho LOGO! master).
Như vậy, LOGO! master sẽ sử dụng tất cả các ngõ tín hiệu vào ra của LOGO! master như là
tín hiệu vào ra của nó.
Đặt địa chỉ IP và subnet mask bằng cách vào "Network; IP address" trên màn hình LOGO!.
Cũng từ màn hình LOGO!, chọn "Network; Specify mode", chọn "Slave" để cài đặt LOGO! này
làm salve. Khởi động lại LOGO!
Theo các bước tương tự để cài đặt địa chỉ IP, subnet mask và chọn chế độ hoạt động “Nor-
mal" cho LOGO! master.
Lưu ý:
Để truyền thông thành công, địa chỉ IP và subnet mask của máy tính và của các LOGO! phải được đặt
sao cho các thiết bị này cùng chung 1 lớp mạng.
Network input – Đọc tín hiệu ngõ vào, ngõ ra số của LOGO! slave
Nếu cần đọc ngõ vào số của salve, chọn “Block type” là Input, nếu cần đọc ngõ ra số,
chọn là Output.
Nhập địa chỉ IP của salve, chọn ngõ tín hiệu tương ứng trong “Block number”
Network analog input - Đọc tín hiệu ngõ vào, ngõ ra analog của LOGO! slave
Sử dụng tương tự như hàm đọc tín hiệu số, nhưng dùng cho tín hiệu analog.
Nhập địa chỉ IP của LOGO! slave và chọn ngõ ra số cần điều khiển.
Network analog output - Điều khiển ngõ ra analog của LOGO! slave
Nhập địa chỉ IP của LOGO! slave và chọn ngõ ra analog cần điều khiển.
Chương trình ví dụ
Tạo kết nối ethernet giữa LOGO! 0BA7 với màn hình HMI: vào "Tools; Ethernet Connec-
tions…", nhập đại chỉ IP và subnet mask của LOGO!, sau đấy tạo kết nối bằng cách nhấn phải
chuột vào “Ethernet Connection”
Khai báo các thuộc tính kết nối như trong hình ở dưới.
Khai báo các dữ liệu sẽ được trao đổi với màn hình HMI: vào "Tools; Parameter VM Map-
ping…" vào tạo bảng các biến sẽ giao tiếp với HMI (giá trị mực nước và nhiệt độ)
1 3 2
Lưu ý:
Giá trị của các hàm trong chương trình LOGO! sẽ trao đổi
1 với HMI
Địa chỉ của các giá trị, sẽ phải khai báo trong chương trình HMI
2
Chọn giá trị nào của hàm sẽ được trao đổi với HMI
3 là giá trị của 1 hàm (vd: là giá trị đầu ra của bộ khuếch đại khi đọc tín hiệu analog)
là thông số của 1 hàm (vd: là thời gian trễ trong hàm on-delay)
Bổ sung vào chương trình điều khiển hàm “Network Input”, hàm này nhận tín hiệu điều khiển
từ HMI để tắt/mở động cơ. Gán địa chỉ nhớ V4.0 vào hàm này (vùng nhớ V, byte 4, bit 0).
Như vậy theo chương trình trên, sẽ có 2 tín hiệu để tắt mở động cơ: từ ngõ vào I1 của LOGO!
và từ màn hình HMI, 2 tín hiệu này được đưa vào hàm XOR để điều khiển động cơ như trên
hình.
Tạo kết nối mới bằng cách nhấn chuột 2 lần vào “Add new”. Đặt tên cho kết nối là LOGO!
0BA7, nhập địa chỉ IP của màn hình, của LOGO! và chọn driver truyền thông là Simatic S7-
200.
Lưu ý:
Để kết nối HMI với LOGO!, driver truyền thông (Communication driver) phải là "SIMATIC S7 200".
* Các địa chỉ IP này đã phải được cài đặt trước trên HMI, LOGO!
Lưu ý:
Bảng dưới đây cung cấp thông tin những biến, vùng nhớ của LOGO! mà HMI có thể đọc (Read)
hoặc ghi (Write) giá trị:
Về lý thuyết, HMI có thể ghi giá trị vào vùng nhớ tín hiệu vào (Input I) và vùng nhớ bit (Flags M)
của LOGO!, tuy nhiên việc này không có ý nghĩa vì LOGO! sẽ ‘viết chồng’ giá trị lên vùng nhớ
này sau mỗi chu kỳ quét.
Vùng nhớ tín hiệu ngõ vào I, ngõ ra Q, bit M của LOGO! có thể được khai báo ở chương trình
HMI trong WinCC basic V11 theo địa chỉ như sau:
M25 M3.0
M26 M3.1
M27 M3.2
Mở "Screen_1" và tạo 3 nút nhấn: 1 nút để chuyển sang trang màn hình “screen 2”, 1 nút
chuyển sang trang màn hình “Screen 3”. Nút nhấn thứ 3 để ngưng chế độ chạy chương trình
của màn hình (runtime).
Vào tab “Events” để cài đặt thông số
Tab Events
(Có thể kéo và thả - drag and drop màn hình Screen_2, Screen_3 vào màn hình Screen_1, 2
nút nhấn liên kết đến 2 màn hình này sẽ được tự động tạo).
Bây giờ mở màn hình "Screen_2". Trang màn hình này sẽ hiển thị mực nước, trạng thái
tắt/mở của động cơ, và nút nhấn điều khiển động cơ. Vì thế cần đặt vào màn hình 2 nút nhấn
(button), một hình tròn (circle) và thanh bar. Thanh bar được nối với biến “Fill level” trong mục
properties và được cài đặt khoảng giá trị hiển thị mức nước cao, thấp. Nút nhấn 1 được dùng
để trở về màn hình gốc “Screen_1”, cài đặt cho nút nhấn này ở tab “Events”. Hình tròn dùng
hiển thị trạng thái của động cơ. Động cơ được điều khiển tắt mở bằng nút nhấn 2.
Mở màn hình "Screen_3". Trang màn hình này vẽ đồ thị nhiệt độ và hiển thị nhiệt độ hiện tại.
Đặt vào màn hình: đồ thị (trend display), một I/O field và 1 nút nhấn về màn hình gốc. Đồ thị
và I/O field được kết nối với biến (tag) “Temperature". Chế độ (mode) của I/O field là “output”.
Chạy mô phỏng
Chọn "Start simulation".
Hoặc:
Vào “Online, Simulation, With tag simulator” để chạy chương trình với biến (tag) mô phỏng
Lưu ý:
Nếu bộ điều khiển có kết nối với máy tính, có thể chạy mô phỏng với tín hiệu thật từ bộ điều
khiển. Tuy nhiên, phải chọn S7ONLINE trong “Control Panel; Setting PG/PC interface.”
Trong “Profinet Interface”, thêm subnet mới bằng cách nhấn “Add new subnet”, nhập địa chỉ
IP, subnet mask của S7-1200.
Tạo kết nối ethernet bằng cách: chọn “Network view”, “Connection”, nhấn phải chuột vào CPU
S7-1200, chọn “Add new connection”.
1. Ở tab “General”: Nhập tên LOGO!, địa chỉ IP của LOGO! như hình.
Bỏ dấu lựa chọn trong ô “SIMATIC ACC”, chọn TSAP của LOGO!. Ở vd này, LOGO! có TSAP
là 20.00
Ví dụ:
Các tín hiệu ngõ vào số I1 đến I6 và analog AI1, AI2 sẽ được truyền đến S7-1200.
S7-1200 sẽ truyền dữ liệu cho các ngõ ra Q1 tới Q4 của LOGO!
Đoạn chương trình LOGO! dưới đây dùng để đọc tín hiệu analog AI1 và AI2, 2 tín hiệu được
cho qua bộ khuếch đại Analog Amplifier.
Để gửi giá trị của 2 ngõ vào analog này đến S7-1200, phải khai báo 2 giá trị này trong “Pa-
rameter-VM mapping". Vào “Tools””Parameter –VM mapping” để khai báo 2 giá trị này (là 2
giá trị ngõ ra của 2 bộ khuếch đại Analog Amplifier). Địa chỉ vùng nhớ cho 2 giá trị này là VW0
và VW2 (VB0, VB2)
Chỉ có các dữ liệu dạng byte, word.. mới phải khai báo trong bảng “Parameter-VM mapping“,
các dữ liệu gửi dạng Bit không cần khai báo ở bảng này.
Sau đấy khai báo việc đọc (Read), gửi (Write) dữ liệu trong bảng “Data Transfer...“ của kết nối
vừa tạo.
Giải thích:
• Hàng 1: 1 byte dữ liệu, là byte số 6 trong data block 1 của S7-1200 sẽ được LOGO! đọc và lưu
vào vùng nhớ V, byte số 4: VB4.
• Hàng 2: 1 byte dữ liệu là giá trị tín hiệu ngõ vào số I1 đến I8 của LOGO!, sẽ được gửi đến byte
số 0, data block 1 của S7-1200.
• Hàng 3: Giá trị của hàm khuếch đại analog amplifier B001 (giá trị ngõ vào AI1),2 bytes, ở ô nhớ
VB0 của LOGO! sẽ được gửi đến data block 1, byte số 2 (2 bytes) của S7-1200
• Hàng 4: Giá trị của hàm khuếch đại analog amplifier B002 (giá trị ngõ vào AI2),2 bytes, ở ô nhớ
VB2 của LOGO! sẽ được gửi đến data block 1, byte số 4 (2 bytes) của S7-1200
Trong chương trình LOGO!, cần thêm 4 hàm đọc tín hiệu số qua mạng (hàm Network input),
sau đó kết nối chúng với 4 ngõ ra Q1 đến Q4 của LOGO!. 4 hàm này lấy giá trị 4 bit 0 tới 3
của byte VB4.
Giải thích:
• Network 1: Nếu ngõ vào I0.2 của S7-1200 và ngõ vào I1 của LOGO! ở mức 1, ngõ ra Q1 của
LOGO! sẽ set mức 1. Nếu ngõ vào I0.7 của S7-1200 và I2 của LOGO! ở mức 1, ngõ ra Q1 của
LOGO! được reset về 0.
• Network 2: Ngõ ra Q0.0 của S7-1200 sẽ bật nếu giá trị ngõ vào analog AI1 của LOGO! lớn hơn
500 (AI1 >=5V).
Lưu ý:
LOGO! 0BA7 được tích hợp vùng nhớ trong 1024 bytes dùng cho chức năng lưu trữ dữ liệu. Nếu dữ
liệu được ghi trong vùng nhớ này đạt 512 bytes, LOGO! sẽ tự động ghi dữ liệu vào thẻ nhớ SD ngoài
(nếu có dùng thẻ này). Nếu dữ liệu LOGO! thu thập được nhanh hơn thời gian nó ghi dữ liệu vào thẻ
nhớ SD, dữ liệu có thể bị mất. Để tránh việc mất dữ liệu, thời gian tối thiểu giữa 2 lần lấy dữ liệu là 500
ms.
Thẻ nhớ SD có thể lưu trữ tối đa 2000 lượt ghi dữ liệu (tối đa mỗi lần ghi: 32 dữ liệu)
Thẻ nhớ SD phải được gắn vào LOGO! trước khi chương trình điều khiển hoạt động (chuyển từ Stop
sang Run)
Ví dụ mẫu
Chương trình trong ví dụ mô tả việc theo dõi nhiệt trong một kho hàng. Nếu nhiệt độ trong kho
từ -4°C trở lên, tín hiệu cảnh báo sẽ được phát tại ngõ ra Q, và hàm chức năng lưu trữ dữ liệu
được kích hoạt sau mỗi 30 s. Nhiệt độ hiện thời trong kho sẽ được lưu vào file sau mỗi 30 s.
Ngõ vào I1 dùng để xác nhận việc nhiệt độ tăng trên -4°C (tắt tín hiệu cảnh báo)
Chọn dữ liệu cần lưu trữ và nhấn nút “Add”. Có thể lưu trữ 32 dữ liệu khác nhau.
Đọc dữ liệu
Từ thẻ nhớ SD
Để đọc dữ liệu từ thẻ nhớ SD, chuyển LOGO! về chế độ “Stop” và lấy thẻ nhớ ra khỏi 0BA7.
Dùng đầu đọc thẻ SD trên máy tính để mở file dữ liệu (dạng file .csv).
Chọn “Open”.
Xác định kiểu mà các dữ liệu phân cách nhau trong file csv gốc, sau đó chọn “Next”.
Chọn loại dấu được dùng để phân cách dữ liệu. Chọn “Next”.
Dữ liệu bây giờ được sắp thành cột như hình bên dưới.
Tạo UDF
Có thể tạo UDF trực tiếp từ nơi viết chương trình điều khiển hoặc từ cửa sổ viết hàm UDF.
Cửa sổ tạo hàm mới được mở với đoạn chương trình vừa chọn.
Ở tab “Parameters":
Để lưu vào thư viện, vào "Tools; Options", chọn "UDF". Dùng "Add UDF" để thêm UDF vào
thư viện.
UDF bây giờ đã xuất hiện trong toolbar, sử dụng như các hàm có sẵn của phần mềm.
Lưu ý:
Nếu UDF hiển thị như thế này trong chương trình: UDF đã cập nhật thay đổi mới
nhất.