3.4.1. Bit logic (tập lệnh tiếp điểm)
Tiếp điểm thƣờng hở
L A D
Tiếp điểm thƣờng hở sẽ đóng khi giá trị của bit có địa chỉ là n bằng 1
Toán hạng n: I, Q, M, L, D Tiếp điểm thƣờng đóng
L A D
Tiếp điểm thƣờng đóng sẽ đóng khi giá trị của bit có địa chỉ n là 0
Toán hạng n: I, Q, M, L, D Lệnh OUT
L A D
Giá trị của bit có địa chỉ là n sẽ bằng 1 khi đầu vào của lệnh này bằng 1 và ngƣợc lại
Toán hạng n : Q, M, L, D
Chỉ sử dụng một lệnh out cho 1 địa chỉ
4)Lệnh OUT đảo
L A D
Giá trị của bit có địa chỉ là n sẽ bằng 1 khi đầu vào của lệnh này bằng 0 và ngƣợc lại
Toán hạng n : Q, M, L, D
Chỉ sử dụng một lệnh out not cho 1 địa chỉ
Lệnh SET
L A D
Giá trị của các bit có địa chỉ là n sẽ bằng 1 khi đầu vào của lệnh này bằng 1 Khi đầu vào của lệnh bằng 0 thì bit này vẫn giữ nguyên trạng thái. Toán hạng n: Q, M, L, D Lệnh Reset L A D
Giá trị của các bit có địa chỉ là n sẽ bằng 0 khi đầu vào của lệnh này bằng 1. Khi đầu vào của lệnh bằng 0 thì các bit này vẫn giữ nguyên trạng thái.
Toán hạng n: Q, M, L, D Lệnh set nhiều bit
L A D
Giá trị của các bit có địa chỉ đầu tiên là OUT sẽ bằng 1 khi đầu vào của lệnh này bằng 1 Khi đầu vào của lệnh bằng 0 thì các bit này vẫn giữ nguyên trạng thái. Trong đó số bit là giá trị của n
Toán hạng OUT: Q, M, L, D n : là hằng số
L A D
Giá trị của các bit có địa chỉ đầu tiên là OUT sẽ bằng 0 khi đầu vào của lệnh này bằng 1 Khi đầu vào của lệnh bằng 0 thì các bit này vẫn giữ nguyên trạng thái. Trong đó số bit là giá trị của n
Toán hạng OUT: Q, M, L, D n : là hằng số
Tiếp điểm phát hiện xung cạnh lên
L A D
Thay đổi trạng thái tín hiệu phía trƣớc không ảnh hƣởng đến “IN”
Phát hiện sự thay đổi trạng thái của 1 tín hiệu “IN” từ 0 lên 1
Trạng thái của tín hiệu IN đƣợc lƣu lại vào “M_BIT”
Độ rộng của xung này bằng thời gian của một chu kì quét.
Tiếp điểm phát hiện xung cạnh xuống
L A D
Thay đổi trạng thái tín hiệu phía trƣớc không ảnh hƣởng đến “IN”
Phát hiện sự thay đổi trạng thái của 1 tín hiệu “IN” từ 1 xuống 0
Trạng thái của tín hiệu IN đƣợc lƣu lại vào “M_BIT”
Độ rộng của xung này bằng thời gian của một chu kì quét.
3.4.2. Sử dụng bộ Timer
Sử dụng lệnh Timer để tạo một chƣơng trình trễ định thời. Số lƣợng của Timer phụ thuộc vào ngƣời sử dụng và số lƣợng vùng nhớ của CPU. Mỗi timer sử dụng 16 byte IEC_Timer dữ liệu kiểu cấu trúc DB. Step 7 tự động tạo khối DB khi lấy khối Timer
Kích thƣớc và tầm của kiểu dữ liệu Time là 32 bit, lƣu trữ nhƣ là dữ liệu Dint : T#-14d_20h_31m_23s_648ms đến T#24d_20h_31m_23s_647ms hay là -
2.147.483.648 ms đến 2.147.483.647 ms.
Timer trễ sƣờn lên có nhớ - Timer TONR
L A D
Thay đổi PT không ảnh hƣởng khi Timer đang vận hành, chỉ ảnh hƣởng khi timer đếm lại
Khi ngõ vào IN chuyển sang “FALSE” khi vận hành thì timer sẽ dừng nhƣng không đặt lại bộ định thì. Khi chân IN “TRUE” trở lại thì Timer bắt đầu tính thời gian từ giá trị thời gian đã tích luỹ. Timer trễ không nhớ - TON
L A D
Khi ngõ vào IN ngừng tác động thì reset và dừng hoạt động Timer.
Thay đổi PT khi Timer vận hành không có ảnh hƣởng gì
Timer trễ sƣờn xuống – TOF
L A D
Khi ngõ vào IN ngừng tác động thì reset và dừng hoạt động Timer.
Thay đổi PT khi Timer vận hành không có ảnh hƣởng gì
3.4.3. Sử dụng bộ Counter
Lệnh Counter đƣợc dùng để đếm các sự kiện ở ngoài hay các sự kiện quá trình ở trong PLC. Mỗi Counter sử dụng cấu trúc lƣu trữ của khối dữ liệu DB để làm dữ liệu của Counter. Step 7 tự động tạo khối DB khi lấy lệnh.
Tầm giá trị đếm phụ thuộc vào kiểu dữ liệu mà bạn chọn lựa. Nếu giá trị đếm là một số Integer không dấu, có thể đếm xuống tới 0 hoặc đếm lên tới tầm giới hạn. Nếu giá trị đếm là một số integer có dấu, có thể đếm tới giá trị âm giới hạn hoặc đếm lên tới một số dƣơng giới hạn.
Counter đếm lên - CTU
L A D
Giá trị bộ đếm CV đƣợc tăng lên 1 khi tín hiệu ngõ vào CU chuyên từ 0 lên 1. Ngõ ra Q đƣợc tác động lên 1 khi CV>=PV. Nếu trạng thái R = Reset đƣợc tác động thì bộ đếm CV = 0. Counter đếm xuống – CTD L A D
Giá trị bộ đếm đƣợc giảm 1 khi tín hiệu ngõ vào CD chuyển từ 0 lên 1. Ngõ ra Q đƣợc tác động lên 1 khi CV <=0. Nếu trạng thái LOAD đƣợc tác động thì CV = PV.
L A D
Giá trị bộ đếm CV đƣợc tăng lên 1 khi tín hiệu ngõ vào CU chuyển từ 0 lên 1. Ngõ ra QU đƣợc tác động lên 1 khi CV >=PV. Nếu trạng thái R = Reset đƣợc tác động thì bộ đếm CV = 0.
Giá trị bộ đếm CV đƣợc giảm 1 khi tín hiệu ngõ vào CD chuyển từ 0 lên 1. Ngõ ra QD đƣợc tác động lên 1 khi CV <=0. Nếu trạng thái Load đƣợc tác động thì CV = PV.
3.4.4. So sánh
Lệnh so sánh
So sánh 2 kiểu dữ liệu giống nhau, nếu lệnh so sánh thoả thì ngõ ra sẽ là mức 1 = TRUE
Kiểu dữ liệu so sánh là : SInt, Int, Dint, USInt, UDInt, Real, LReal, String, Char, Time, DTL, Constant.
L A D
Lệnh so sánh dùng để so sánh hai giá trị IN1 và IN2 bao gồm IN1 = IN2, IN1 >= IN2, IN1 <= IN2, IN1 < IN2, IN1 > IN2 hoặc IN1 <> IN2
So sánh 2 kiểu dữ liệu giống nhau, nếu lệnh so sánh thoả thì ngõ ra sẽ là mức 1 = TRUE (tác động mức cao) và ngƣợc lại.
Kiểu dữ liệu so sánh là : SInt, Int, Dint, USInt, UDInt, Real, LReal, String, Char, Time, DTL,
3.4.5. Toán học
L A D
Công dụng : thực hiện phép toán từ các giá trị ngõ vào IN1, IN2, IN(n) theo công thức OUT=…(+,-,*,/) rồi xuất kết quả ra ngõ ra OUT.
Các thông số ngõ vào dùng trong khối phải chung định dạng
Lệnh cộng, trừ, nhân, chia
L A D
Lệnh cộng ADD : OUT = IN1 + IN2 Lệnh trừ SUB : OUT = IN1 – IN2 Lệnh nhân MUL : OUT = IN1*IN2 Lệnh chia DIV : OUT = IN1/IN2 Tham số IN1, IN2 phải cùng kiểu dữ liệu : SInt, Int, Dint, USInt, UInt, UDInt, Real, LReal, Constant
Tham số OUT có kiểu dữ liệu : SInt, Int, Dint, USInt, UInt, UDInt, Real, LReal
Tham số ENO = 1 nếu không có lỗi xảy ra trong quá trình thực thi. Ngƣợc lại ENO = 0 khi có lỗi, một số lỗi xảy ra khi thực hiện lệnh này :
- Kết quả toán học nằm ngoài phạm vi của kiểu dữ liệu.
- Chia cho 0 (IN2 = 0)
- Real/LReal : Nếu một trong những giá trị đầu vào là NaN sau đó đƣợc trả về NaN.
INF có dấu khác nhau, đây là một khai báo không hợp lệ và đƣợc trả về NaN
- SUB Real/LReal : Nếu cả hai giá trị IN là INF cùng dấu, đây là một khai báo không hợp lệ và đƣợc trả về NaN
- MUL Real/LReal : Nếu một trong 2 giá trị là 0 hoặc là INF, đây là khai báo không hợp lệ và đƣợc trả về NaN.
- DIV Real/LReal : Nếu cả hai giá trị IN bằng không hoặc INF, đây là khai báo không hợp lệ và đƣợc trả về NaN.
Lệnh tăng, giảm
L A D
Tăng / giảm giá trị kiểu số Integer lên / xuống một đơn vị
Tham số : EN : cho phép ngõ vào
IN/OUT : toán tử ngõ vào và ra ENO : cho phép ngõ ra
- ENO = 1 : không có lỗi
- ENO = 0: kết quả nằm ngoài tầm giá trị của kiểu dữ liệu 3.4.6. Di chuyển (MOVE) Lệnh MOVE L A D
Lệnh Move di chuyển nội dung ngõ vào IN đến ngõ ra OUT mà không làm thay đổi giá trị ngõ IN
Tham số:
EN : cho phép ngõ vào ENO : cho phép ngõ ra IN : nguồn giá trị đến OUT1: Nơi chuyển đến
Lệnh Move_BLK sao chép các nội dung của một vùng nhớ IN đến một bộ nhớ xác định khác. Số lƣợng các giá trị đƣợc sao chép đƣợc quy định trong COUNT. Hoạt động sao chép theo hƣớng tăng dần các địa chỉ
Tham số:
EN : cho phép ngõ vào ENO : cho phép ngõ ra IN : nguồn giá trị đến
COUNT : số giá trị sao chép OUT1: Nơi chuyển đến Lệnh làm đầy FILL
L A D
Công dụng : dùng để lấp đầy một vùng nhớ với nội dung tại một vùng nhớ khác. Lệnh Fill block di chuyển nội dung của một vùng nhớ tới một vùng nhớ xác định. Hành động vận chuyển các biến sao chép theo hƣớng tăng dần.
CHƢƠNG 4: WEB SERVER VỚI PLC S7-1200 4.1.GIỚI THIỆU VỀ ỨNG DỤNG WEB SERVER VỚI PLC S7-1200
Công nghệ ngành tự động hiện nay phát triển mạnh bằng việc kết hợp với công nghệ Internet, các kỹ sƣ có thể truy cập trực tiếp tới hệ thống qua Internet. Trong suốt quá trình thử nghiệm và giai đoạn vận hành, kỹ sƣ muốn có khả năng truy cập linh hoạt đến CPU, dữ liệu CPU có thể đƣợc hiển thị trong suốt quá trình vận hành cho mục đích chuẩn đoán lỗi.
Do cơ chế truy cập qua Internet, nó thì hợp lý cho việc sử dụng những tiêu chuẩn đã có sẵn, ví dụ nhƣ trình duyệt tiêu chuẩn đã có sẵn (Standard web pages) và một số ngôn ngữ phổ biến nhƣ HTML (Hypertext Markup Language) hay JavaScript để tạo cho mình một trang web riêng để kết nối và giám sát PLC
SIMATIC CPU với giao diện PROFINET cung cấp cơ hội để truy cập tới các biến của CPU với sự giúp đỡ của trang web đƣợc cung cấp bởi hệ thống.
Việc truy cập đến máy chủ web của CPU thông qua một trình duyệt web. Việc thêm vào cơ chế tiêu chuẩn của trang web nhƣ trang định nghĩa, trang chuẩn đoán trạng thái module , trang truyền thông, trang trạng thái các biến và nhật ký dữ liệu, và bạn cũng có khả năng thiết kế và gọi ra trang web cá nhân của bạn cho những ứng dụng cụ thể.
Web server với trang web đƣợc tích hợp trên CPU.
Để tạo ra trang cá nhân của bạn (User-defined web page), bạn có thể sử dụng các công cụ nhƣ Microsoft Frontpage, Notepad++, ..Để thiết kế trang web của bạn, bạn có thể sử dụng các chức năng đƣợc cung cấp với HTML, CSS và Java Script.
Hình 4.2: Cấu trúc một Web Server
Việc thêm vào 1 cú pháp lệnh đặc biệt (lệnh AWP) để kết nối trực tiếp với CPU. Sơ đồ sau đây cho bạn cái nhìn tổng quan về giải pháp thực hiện:
+Thông qua việc truy cập các tính năng thông qua các trình duyệt web khác nhau, dữ liệu kiểm soát có thể đƣợc hiển thị và điều khiển ở một mức độ hạn chế, bởi bất kỳ máy tính hoặc một thiết bị có thể truy cập web mà không cần cài đặt thêm phần mềm.
+Một ƣu điểm khác là việc sử dụng toàn bộ cơ sở hạ tầng mạng của nhà máy mà không cần thêm thiết bị phần cứng nào, ví dụ nhƣ mỗi nơi của nhà máy nơi mà có thể truy cập mạng đƣợc, thì có thể truy cập vào bộ điều khiển tƣơng ứng.
+Có thể tính toán, chuẩn đoán, hay điều khiển CPU ở một khoảng cách lớn hoặc thiết bị điện thoại di động.
+Tuy nhiên, do khó khăn ở việc xác định thời gian trễ của ứng dụng web, nên việc sử dụng web server thì không phải mà một sự thay thế hoàn chỉnh cho việc vận hành và giám sát hệ thống, và không thể thay thế đƣợc cho hệ thống HMI.
4.2. STANDARD WEB PAGES
Đây là trang web tiêu chuẩn do Siemens thiết kế để giám sát trạng thái CPU. Để truy cập vào trang web tiêu chuẩn của PLC S7-1200 từ máy tính, chúng ta làm theo các bƣớc:
1. Chắc chắn rằng PLC S7-1200 và máy tính kết nối vào chung 1 mạng Ethernet hoặc chúng đƣợc kết nối trực tiếp với nhau với 1 sợi cáp mạng Ethernet.
2. Mở trình duyệt Web của bằng và nhập vào địa chỉ URL nhƣ sau “http://ww.xx.yy.zz” tƣơng ứng với địa chỉ IP của CPU S7-1200.
>>>>Trình duyệt web của bạn sẽ mở ra trang giới thiệu (Introduction page) Introduction page:
Trang giới thiệu là màn hình chào mừng cho việc truy cập vào trang web tiêu chuẩn của PLC S7-1200
Hình 4.3: Trang giới thiệu SIMATIC S7-1200 Start Page
Trang Start hiển thị tƣợng trƣng cho CPU mà bạn đã kết nối và thống kê các thông tin chung về CPU của bạn. Nếu bạn đăng nhập vào với nick “ admin “, bạn có thể thay đổi chế độ vận hành của CPU và nhấp nháy đèn LED trên CPU (để test thử kết nối).
Nút 1 và 2 chỉ hiện ra khi bạn đăng nhập vào CPU . Identification
Trang định nghĩa hiển thị các đặc tính xác định của CPU nhƣ : ● Serial number
● Order numbers ● Version information
Hình 4.5: Thông số PLC Diagnostic Buffer
Trang chuẩn đoán lỗi hiển thị các sự kiện trên CPU, Bạn có thể lựa chọn khoảng các chuẩn đoán đƣợc hiển thị, từ 1 tới 25 hoặc từ 26 tới 50. Phần trên của trang hiển thị các mục với thời gian và ngày xảy ra các sự kiện ở CPU.
Thời gian là thời gian trên CPU, nó phải tƣơng ứng với Time of day và Time zone cài đặt trên cấu hình thiết bị của CPU. Thời gian CPU thì không cần thiết phải giống với thời gian địa phƣơng.
tin chi tiết về các mục trong phần dƣới của trang.
Hình 4.6: Thông tin làm việc của PLC Module Information
Trang thông tin module cung cấp thông tin về tất cả module trên rack.
Phần trên của màn hình hiển thị tổng cộng số module, và phần bên dƣới cho thấy trạng thái và thông tin của module đƣợc chọn.
Hình 4.7: Thông tin module PLC Communication
Trang truyền thông hiển thị thông số của các CPU kết nối với nhau. Và các thống kê về truyền thông. Tab Parameter hiển thị địa chỉ MAC của CPU , địa chỉ IP và cài đặt IP của CPU và các thuộc tính cơ bản. Tab Statistic hiển thị thống kê việc truyền và gửi dữ liệu.
Hình 4.9: Thống kê dữ liệu truyền thông của PLC Variable Status
Với trang hiển thị trạng thái biến cho phép bạn có thể nhìn bất kỳ I/O hoặc dữ liệu vùng nhớ nào trên CPU. Bạn có thể nhập trực tiếp địa chỉ ( ví dụ nhƣ I0.0), hoặc tên tag PLC, hoặc là từ 1 khối dữ liệu xác định. Cho các tag trong khối dữ liệu, bạn đảm bảo rằng tên khối phải trong dấu nháy kép. Cho mỗi giá trị giám sát bạn có thể chọn lựa 1 định dạng hiển thị cho dữ liệu. Bạn có thể tiếp tục nhập và xác định giá trị cho đến khi bạn có nhiều nhƣ bạn muốn trong giới hạn cho phép của trang. Giá trị giám sát hiển thị một cách tự động và làm mới bằng mặc định, nếu không bạn nhấp vào biểu tƣợng “Off” ở góc trên bên phải của trang .Khi làm mới không cho phép, bạn có thể nhấp vào “On” để cho phép lại chức năng tự động làm mới trang.
Với việc đăng nhập bằng chức danh “admin”, bạn cũng có thể chỉnh sửa giá trị dữ liệu.Nhập giá trị mình muốn vào ô “Modify Value”. Nhấp vào nút “Go” bên cạnh một giá trị để viết giá trị đó vào CPU. Để chỉnh sửa 1 biến của dữ liệu dạng