kiến thức ngành điện

quang cao
TÀI LIỆU PLC

Xem thêm>>

Hiển thị các bài đăng có nhãn plc-siemens. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn plc-siemens. Hiển thị tất cả bài đăng
Xử lý tín hiệu Analog trong PLC Siemen S7-200
Đặt vấn đề: để hiểu rõ về analog ta cần giải quyết một ví dụ cụ thể như sau
Đo mức nước có dãi đo từ 0m-40m. Tín hiệu cảm biến truyền về là 4-20mA.

Giải:
Như vậy với:
O: output
s: sensor
v: value

Ta có:
Ov ---------đầu ra   ===> 0m ===> 40m
Iv   ---------đầu vào ==> 4mA ===> 20mA

Lưu ý, S7200 có module đọc analog có độ phân giải từ 6400 đến 32000, nghĩa là 4mA đọc vào thì trong PLC hiểu là 6400 đơn vị và 20mA đọc về là 32000 đơn vị.
Như vậy ta có thể lặp được 1 đường thẳng qua 2 điểm. Và xây dung phương trình đường thẳng qua 2 điểm đó có dạng Y = aX + b

Osvmax  -----   đầu ra max   -----   40m  
Osvmin   -----   đầu ra in       -----   0m 

Isvmax  -----   đầu vào max   -----   32000 
Isvmin   -----   đầu vào in       -----   6400 

Công thức để tính cho tín hiệu Analog sẽ là:

Ov=[(Osvmax -Osvmin)(Iv-Isvmin)/(Isvmax-Isvmin)]+Osvmin

=> Ov =[(40 -0)(Iv-6400)/(32000-6400)]+0
=> Ov = 0.0015625Iv - 10
Ta có được phương trình. bây giờ xây dựng phương trình vào PLC

Hàm I_DI chuyển vùng nhớ AIW0 16bit chuyen sang vung nho VD100 32bit
Ham DI_R chuyen vung nho VD100 32bit chuyen sang vung nhớ số thực VD104 32bit (dấu phẩy động)
Sau khi lấy được giá trị thưc có dấu phẩy động rồi ta đưa vào công thức tính.

Khối MUL_R là khối NHÂN 2 số thực
Khối SUB_R là khối TRỪ 2 số thực


Như vậy sau một loạt hàm chuyển đổi và khối tính toán thì từ đầu vào giá trị cảm biến AIW0 và kết quả PLC xử lý analog được là VD112

Bổ sung:
Có thể xây dung hàm tổng quát để xử lý tín hiệu Analog như sau
Truyền thông Modbus với PLC Siemens S7-1200- KM-N2-FLK là đồng hồ đo các thông số điện năng như KW,KVA, Cosphi, Điện Áp, Dòng diện… Loại đồng hồ này hỗ trợ kết nối RS485 chuẩn Modbus RTU để các thiết bị khác có thể đọc các thông số về điện năng. Việc PLC đọc dữ liệu từ thiết bị khác qua Modbus RS485 không mới, tuy nhiên rất tốn thời gian. Sau đây xin hướng dẫn chi tiết
Cấu hình các thông số cho module CM 1241 (RS422/485)

p1
Các bạn làm lần lượt các bước như hình ảnh ở trên, vào Device Configuration -> Click vào hình ảnh của module -> Click vào mục General.
Tại Tag General các bạn bắt đầu config bạn chú ý tới những mục sau:
  • – Đầu tiên trong thư mục RS422/RS485 interface các bạn vào mục PortConfiguration tại đây ta chú ý tới các thông số được khoanh như trong hình.

+ Trong phần Operating mode chọn Half duplex (RS485) two-wire operation là chế độ truyền thông RS485 2 dây
+ Cac thông số như Baud rateParityData bitsStop bits mình cấu hình phải đúng như trên thiết bị Slave.
+ Thông số Wait time là thời gian chờ thiết lập lại, nghĩa là nếu kết nối không thành công thì trong khoảng thời gian này module sẽ cố gắng kết lối lại, quá khoảng thời gian trên mà vẫn không kết nối được thì module sẽ khởi động lại.
p1
Tiếp theo là phần Hardware identifier, thông số này mình ko thiết lập nhưng mình phải nhớ để sau này dung.
p3
Sau đó ta Compile để hoàn thành quá trình cấu hình cho module và bắt đầu đi vào viết chương trình.
Đầu tiên ta tạo 1 Function đặt tên là Modbus_RTU
p4
Sau khi tạo được Function ta mở nó ra. Tại đây ta sẽ viết chương trình chính phục vụ cho mục đích truyền thông.
Với truyền thông Modbus RTU  với S7-1200 thì trong Step7 đã hỗ trợ sẵn cho ta 3 hàm chính dùng để truyền thông đó là:
MB_COMM_LOAD: Dùng để cấu hình cho cổng kế nối vì vậy nó sẽ được
khởi động đầu tiên và chỉ chạy 1 lần trong cả quá trình truyền thông. Cái này
bắt buộc phải có.
MB_MASTER: Đây là hàm dùng để điều khiển quá trình truyền nhận trên
thiết bị Master.
MB_SLAVE: Đây là hàm điều khiển quá trình truyền nhận trên thiết bị Slave
Ví dụ như trong trường hợp này ta sử dụng S7-1200 để đọc dữ liệu từ đồng hồ đo năng lượng KM-N2 vì vậy S7-1200 sẽ đóng vai trò làm Master và đồng hồ sẽ đóng vai trò là Slave nên ta cần sử dụng 2 hàm MB_COMM_LOAD và MB_MASTER.
Để sử dụng các function này ta vào Instructions/Communication/Communication Processor/Modbus giữ chuột kéo ra như các hình bên dưới.
MB_COMM_LOAD:
p5

MB_MASTER:
p6

Sau khi gọi các function cần thiết ra ta bắt đầu thiết lập, cài đặt các thông số đầu vào , đầu ra cho chúng.
Thiết lập các thông số cho MB_COMM_LOAD function.
p7
Chúng ta cài đặt các thông số cho hàm MB_COMM_LOAD với các thông số như trên trong đó:
REQ: Đóng vai trò như là 1 bit enable, nghĩa là khi nó bằng 1 thì hàm sẽ được thực hiện. Mặt khác như đã nói ở trên hàm này chỉ cần thực hiện 1 lần để khởi tạo các thông số truyền thông. Do đó bit REQ chỉ có giá trị bằng 1 trong vòng lặp đầu tiên. Ở đây ta gán bit M0.0 cho REQ nhưng dùng tiếp điểm thường đóng. Do vậy khi bắt đầu chương trình hàm MB_COMM_LOAD sẽ được thực hiện luôn, ngay bên dưới hàm này sẽ là 1 network với nhiệm vụ set bit M0.0 lên 1 để đảm bảo từ vòng lặp sau hàm MB_COMM_LOAD sẽ không được thực hiện.
PORT: Giá trị của PORT chính là giá trị của thông số Hardware indentifier trong quá trình thiết lập module lúc đầu. Cụ thể ta có thể tham khảo hình bên dưới.
p8
BAUD hay PARITY cũng tương tự các giá trị đã cài đặt cho module.
MB_DB: Chính là địa chỉ của hàm MB_MASTER_DB mà ta vừa tạo. Như ở đây nó có giá trị là DB3.
Thiết lập các thông số cho MB_MASTER_DB function..
p9
Ta thiết lập các thông số như hình trên. Trong đó:
REQ: Là bit enable, khi nó được bật lên thì quá trình truyền thông được thực hiện. Như trong ví dụ này ta chỉ đọc 1 thanh ghi của đồng hồ đo năng lượng lên ta nối nó với bit M0.1 bằng tiếp điểm thường đóng, do đó nó luôn luôn được bật và trong khi ta không cần tác động gì vào bit M0.1
MB_ADDR: Là địa chỉ của Slave, ở đây là đồng hồ thời đo năng lượng KM-N2.
MODE: Bit này sẽ được set tùy theo mục đích sử dụng của ta là đọc hay ghi. Cụ thể tham khảo trong tài liệu của S7-1200, như trong trường hợp này ta cần đọc thanh ghi chứa dữ liệu điện áp V1 của đồng hồ nên ta chọn mode là 0.
Xem hình ảnh bên dưới.
p10

DATA_ADDR: Là địa chỉ tương đối của thanh ghi chứa giá trị cần đọc. Gọi là địa chỉ tương đối vì DATA_ADDR= A+B+C
Trong đó:
A: Là giá trị đầu tiên trong dải địa chỉ của chế độ mà ta chọn. Như hình trên ta thấy cùng là mode 0, 1 hoặc 2 thì có nhiều chế độ khác nhau, để phân biệt chúng với nhau thì ta để ý tới ô cuối cùng nó sẽ có các dải địa chỉ khác nhau.
VD như khi ta chọn mode 0 và nhập vào địa chỉ nằm trong khoảng từ 1 tới 999 thì PLC nó sẽ hiểu là ta chọn chế độ đọc giá trị out put của bit. Như ở đây ta cần đọc giá trị của 1 thanh ghi nên ta phải nhập địa chỉ nằm trong khoảng từ 40001 tới 49999 hoặc 400001 tới 465535.  Khi đó giá trị A của ta sẽ là 40001 hoặc 400001.
Ở đây ta chọn A=40001
B: Là giá trị của địa chỉ thực của thanh ghi cần đọc, như hình dưới ta thấy địa chỉ chứa thanh ghi của điện áp V1 là 0.
p11
C: Là giá trị offset bằng 1.
Từ đó ta tính được giá trị : DATA_ADDR = 40001+0+1=40002
DATA_LEN: Độ dài của dữ liệu cần đọc, ở đây ta cần đọc 1 thanh ghi thì chọn
DATA_LEN=1
DATA_PTR: Con trỏ chỉ tới địa chỉ lưu dữ liệu. Ở đây ta cần tạo thêm 1 Data Block để lư dữ liệu đọc về. Như trên hình ta đã tạo 1 Data Block với tên là Data_Modbus trong đó chứa biến Voltage1. Nó có địa chỉ là DB1
p12
Sau khi hoàn thành các bước trên ta vào chương trình chính gọi Function Data_Modbus ra, nạp chương trình xuống PLC sẽ thấy được kết quả như bên dưới
p13

Bài Tập Và Hướng Dẫn Giải Lập Trình PLC S7-300
Định dạng PDF-100 Trang 
           Hầu hết các hãng chế tạo PLC đều có 3 ngôn ngữ lập trình được coi là tương đương nhau đó là LAD, FBD và STL. Ngoài ra, một số hãng còn có các ngôn ngữ lập trình khác như hãng Siemens (đã được giới thiệu trong tài liệu phần lý thuyết). Tuy nhiên, hầu hết các sinh viên và cán bộ kỹ thuật đều đã được nghiên cứu và học môn học kỹ thuật số. Vì vậy, cuốn tài liệu này tập trung vào hướng dẫn giải bài tập bằn ngôn ngữ FBD. Đây là một ngôn ngữ rất dễ tiếp cận và dễ sử dụng cũng như rất phù hợp với tư duy logic của con người.



PLC có hai phương pháp lập trình chính đó là lập trình tuyến tính và lập trình có cấu trúc. Trong thực tế để giải quyết các bài toán đơn giản người ta thường dùng phương pháp lập trình tuyến tính, còn các bài toán phức tạp thì thường dùng phương pháp lập trình có cấu trúc.
             Để thuận tiện cho việc lập trình cũng như việc kiểm tra kết quả và giải quyết các rắc rối khi lập trình, PLC chia ra thành các Network. Chúng ta có thể phân chia mỗi phần công việc nhỏ thành một Network. Khi hệ thống PLC làm việc nó sẽ tự động liên kết các Network này lại với nhau. Mặt khác khi làm việc PLC sẽ thực hiện tuần tự các Network từ Network đầu tiên đến Network cuối cùng. 

>>>>Tải tài liệu về tại đây



             PLC là thiết bị logic khả trình nên có rất nhiều phương án lập trình, trong cuốn tài liệu này đưa ra một phương án giải quyết yêu cầu bài toán giúp các bạn mới học lập trình PLC dễ tiếp cận với thiết bị. Trong cuốn tài liệu khác của cùng tác giả sẽ trình bày cách giải quyết bài toán theo phương án khác. Ngoài ra, một số bài toán trong tài liệu có sử dụng một số phần mềm mô phỏng như SPS-VISU hoặc Lockout. Các bạn đọc có thể cài đặt phần mềm đó và tiến hành mô phỏng hệ thống.

Tài liệu chia làm hai phần:

  • Phần I: giải quyết các bài toán đơn giản bằng phương pháp lập trình tuyến tính
  • Phần II: Các bài toán có yêu cầu phức tạp và được giải quyết bằng phương pháp lập trình có cấu trúc

Bên dưới đây là một số hình ảnh về tài liệu và link tải về ngay bên dưới đây.







Tải tài liệu về tại đây


Dưới đây là bài tập về PLC có lời giải của tác giả Hà Lê Như Ngọc Thành ở trường ĐẠI HỌC SƯ PHẠM KĨ THUẬT TP.HCM. Bài tập có bài giải chi tiết, rất tuyệt vời dành cho các bạn. Tải về xem tham khảo và học tập tốt nhé.

Bài Tập Về PLC Có Mô Phỏng Kèm Với Lời Giải Đầy Đủ Và Chi Tiết
Bài Tập Về PLC Có Mô Phỏng Kèm Với Lời Giải Đầy Đủ Và Chi Tiết
Bài Tập Về PLC Có Mô Phỏng Kèm Với Lời Giải Đầy Đủ Và Chi Tiết




Các tìm kiếm liê n quan đến bài tập plc s7 300 có lời giải
bài tập plc s7 1200 có lời giải
huong dan giai bai tap plc s7 200bài tập plc s7 200 có lời giải pdfbài tập plc có mô phỏng
tổng hợp 30 bài tập plc cơ bản s7-200bài tập mẫu plc s7 300bài tập ví dụ plc s7 200



CÁC THIẾT BỊ CẦN DÙNG CHO VIỆC ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ SỬ DỤNG PLC KẾT NỐI BIẾN TẦN
Kết quả hình ảnh cho plc biến tầnBước 1: Encoder – dùng xác định tốc độ động cơ.
Có 2 loại encoder : enconder tương đối và encoder tuyệt đối
– Động cơ : AC,DC…..
– Biến tần : cụ thể ta sẽ tiềm hiêu biến tần siemmen MM440
– PLC : S7-200
Trước khi kết nối đến S7-200, cần phải chắc chắn rằng có đủ các thông số của biến tần.
Sử dụng bộ phím keypad có sẵn trên biến tần để cài đặt như sau:
Reset để cài đặt lại cho hệ thống (tuỳ chọn):
P0010 = 30
P0970 = 1
Nếu bỏ qua bước này , các thông số tiếp theo sẽ được set theo các giá trị:
USS PZD length: P2012 Index0 = 2
USS PKW length: P2013 Index0 = 127
Cho phép việc truy nhập và đọc/ghi các thông số:
P0003 = 3
Kiểm tra và cài đặt thông số động cơ cho inverter:
P0304 = điện áp động cơ (V)
P0305 = dòng điện động cơ (A)
P0307 = công suất động cơ (W)
P0310 = tần số động cơ (Hz)
P0311 = tốc độ động cơ (RPM)
Các thông số này có thể thay đổi tuỳ thuộc vào loại động cơ đang được sử dụng.
Phải set thông sốP0010 lên 1 trước. Sau khi kết thúc việc cài đặt, đặt thông số P0010 về 0. Các thông số P0304, sau đó mới cài đặt thông số P0304, P0305, P0307, P0310, P0311. Các thông số P0305, P0307, P0310, P0311 chỉ có thể thay đổi được trong chế độ quick commissioning
– Định chế độ điều khiển tại chỗ hay điều khiển từ xa (Local / Remove):
P0700 Index0 = 5
– Ở cổng COM, lựa chọn tần số setpoint cho USS .
P1000 Index0 = 5
– Định thời gian tăng tốc (tuỳ chọn), là thời gian để động cơ tăng tốc đến tốc độ max:
P1120 = 0 ¸ 650,00 (s).
– Định thời gian giảm tốc (tuỳ chọn), là thời gian để động cơ giảm dần tốc độ cho đến khi
dừng:
P1121 = 0 ¸ 650,00 (s).
– Đặt tần số tham chiếu:
P2000 = 1 đến 650 Hz
– Tiêu chuẩn hoá USS:
P2009 Index0 = 0
– Đặt giá trị tốc độ baud cho chuẩn giao tiếp RS-485:
P2010 Index0 = 4 (2400 baud)
P2010 Index0 = 5 (4800 baud)
P2010 Index0 = 6 (9600 baud)
P2010 Index0 = 7 (19200 baud)
P2010 Index0 = 8 (38400 baud)
P2010 Index0 = 9 (57600 baud)
P2010 Index0 = 10 (115200 baud)
– Nhập địa chỉ biến tần:
P2011 Index0 = 0 đến 31

– Đặt thời gian trống giữa hai bức thông điệp, đây là khoảng thời gian cho phép giữa hai lần truy
nhập dữ liệu bức điện. Nó được sử dụng để ngắt biến tần trong khoảng thời gian khi xảy ra lỗi
truyền thông. Thời gian này tính từ lúc sau khi một dữ liệu hợp lệ của bức điện được
nhận. Mã lỗi F0070 sẽ hiển thị và biến tần sẽ ngắt nếu có một dữ liệu không nhận được.
Đặt giá trị 0 để ngừng điều khiển.
P2014 Index0 = 0 đến 65,535 ms
– Chuyển dữ liệu từ RAM đến EEPROM:
P0971 = 1 (bắt đầu chuyển).
Lưu các cài đặt sự thay đổi các thông số đó vào EEPROM.
Bước 2: :Sử dụng thư viện lệnh USS để lập trình cho PLC
+ Lệnh USS_INIT
Khởi tạo chế độ truyền thông USS
– Chân Mode cho phép hoặc không cho phép sử dụng chế độ USS
Mode = 0 – Không cho phép USS
Mode = 1- Cho phép khởi tạo USS
Ta có thể dùng chức năng này để khởi tạo chế độ USS cho Port 0 (với PLC có 1
cổng) lúc làm việc với USS. lúc làm việc với freeport bằng chương trình.
– Chân Baud: có nhiệm vụ chọn tốc độ truyền trong mạng: (9600)
– Chân Active: 16#1
– Chân Done: thông báo Chế độ USS đã được khởi tạo
– Chân error: lưu trạng thái lỗi
– Chân Active:số địa chỉ biến tần đã được kích hoạt sử dụng
+ Lệnh USS_CTRL
Chỉ một lệnh USS _CTRL được ấn định cho mỗi Drive.
– Bit EN phải được set lên mới cho phép lệnh USS_CTRL thực thi. Lệnh này luôn luôn ở
mức cao (mức cho phép).
– RUN (RUN/STOP) cho thấy trạng thái drive là on hoặc off. Khi bit RUN đang ở mức cao, MM
sẽ nhận lệnh khởi động ở tốc độ danh định và theo chiều đã được chọn từ trước. Ðể Drive làm
việc thì các điều kiện phải theo đúng như sau:
+ Ðịa chỉ Drive phải được lựa chọn từ đầu vào Active trong lệnh USS_INIT.
+ Ðầu vào OFF2 và OFF3 phải được set ở 0.
+ Các đầu ra Fault và Inhibit phải là 0.
– Khi đầu vào RUN là OFF , một lệnh được chuyển đến MM để điều khiển giảm tốc
độ động cơ xuống cho đến khi động cơ dừng.
– Ðầu vào OFF2 được sử dụng để cho phép điều khiển MM dừng với tốc độ chậm.
– Ðầu vào OFF3 được sử dụng để cho phép điều khiển MM dừng với tốc độ nhanh.
– Bit Resp_R báo nhận phản hồi từ phía Drive. Tất cả hoạt động của MM sẽ được thăm
dò thông tin trạng thái. Trong mỗi thời điểm, S7-200 sẽ nhận được một phản hồi từ phía Drive, bit
Resp_R được set lên và tất cả các giá trị tiếp theo được cập nhật.
– Bit F_ACK (Fault Acknowledge) được sử dụng để nhận biết lỗi từ phía Drive. Các lỗi của Drive sẽ được xoá khi F_ACK chuyển từ 0 lên 1.
– Bit Dir (Direction) xác định hướng quay mà MM sẽ điều khiển.
– Ðầu vào Drive (Drive address) là địa chỉ của MM mà lệnh USS_ CTRL sẽ điều khiển tới. Ðịa chỉ hợp lệ là : 0 đến 31.
– Ðầu vào Type (Drive type) dùng để lựa chọn kiểu MM. Ðối với thế hệ MM3 (hoặc sớm hơn) đầu
vào Type được đặt từ 0; còn đối với MM4 giá trị đặt là 1.
– Speed-SP (speed setpoint): là tốc độ cần đặt theo tỉ lệ phần trăm. Các giá trị âmnày sẽ làm động cơ quay theo chiều ngược lại.
Phạm vi đặt: -200% ÷ 200%.
– Error: là một byte lỗi chứa kết quả mới nhất của yêu cầu truyền thông đến Drive.
– Status: là một word thể hiện giá trị phản hồi từ phía biến tần.
– Speed là tốc độ động cơ theo tỉ lệ phần trăm. Phạm vi: -200% đến 200%.
– D-Dir: cho biết hướng quay.
– Inhibit: cho biết tình trạng của the inhibit bit on the drive (0 – not inhibit, 1- inhibit ). Ðể xoá bit
inhibit này , bit Fault phải trở về off, và các đầu vào RUN, OFF2,OFF3 cũng phải trở về off.
– Fault: cho biết tình trạng của bit lỗi ( 0 – không có lỗi, 1- lỗi ). Drive sẽ hiển thị mã lỗi. Ðể xoá bit
Fault, cần phải chữa lỗi xảy ra lỗi và set bit F_ACK.
Việc sử dụng PLC và biến tần nên sử dụng cùng một thương hiệu để đồng bộ hệ thống

Chia sẻ tài liệu cảm biến quang- photo-electric sensor, cảm biến tiệm cận, công tắc hành trình – limit swicth schneider: download tài liệu cảm biến, công tắc hành trình schneider

Kết quả hình ảnh cho cảm biến quang

Xem thêm>>