MỤC LỤC
Lệnh thực hiện phép cộng giữa byte thấp của từ thấp trong ACCU1 với toán hạng. Nội dung byte cao của từ thấp , của từ cao trong ACCU1 và của ACCU2 không bị thay đổi. Nội dung byte cao của từ thấp , của từ cao trong ACCU1 và của ACCU2 không bị thay đổi.
Lệnh thực hiện phép so sánh hai số nguyên 16bits nằm trong hai từ thấp trong hai thanh ghi ACCU1, ACCU2. Nếu số nguyên trong từ thấp của ACCU1 có nội dung khác với số nguyên trong từ thấp của ACCU2 thì bits trạng thái RLO=1, ngược lại bằng 0. Lệnh thực hiện phép so sánh hai số nguyên 16bits nằm trong hai từ thấp trong hai thanh ghi ACCU1, ACCU2.Nếu số nguyên chứa trong từ thấp ACCU2 lớn hơn số nguyên trong từ thấp của ACCU1 thì RLO =1 ngược lại RLO = 0.
Lệnh thực hiện phép so sánh hai số nguyên 16bits nằm trong hai từ thấp trong hai thanh ghi ACCU1, ACCU2.Nếu số nguyên chứa trong từ thấp ACCU2 nhỏ hơn số nguyên trong từ thấp của ACCU1 thì RLO =1 ngược lại RLO = 0. Lệnh thực hiện phép so sánh hai số nguyên 16bits nằm trong hai từ thấp trong hai thanh ghi ACCU1, ACCU2.Nếu số nguyên chứa trong từ thấp ACCU2 lớn hơn hoặc bằng số nguyên trong từ thấp của ACCU1 thì RLO =1 ngược lại RLO = 0. 16bits nằm trong hai từ thấp trong hai thanh ghi ACCU1, ACCU2.Nếu số nguyên chứa trong từ thấp ACCU2 nhỏ hơn hoặc bằng số nguyên trong từ thấp của ACCU1 thì RLO =1 ngược lại RLO = 0.
Nếu số nguyên trong ACCU2 nhỏ hơn hoặc bằng số nguyên trong ACCU1 thì RLO = 1 ngược lại RLO = 0.
Lệnh thực hiện so sỏnh hai số thực 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu số thực trong ACCU2 nhỏ hơn hoặc bằng số thực trong ACCU1 thỡ bits trạng thỏi RLO =1 ngược lại RLO = 0.
Lệnh thực hiện phép chia hai số nguyên 16 bits trong từ thấp của ACCU2 cho số nguyên 16 bits trong từ thấp của ACCU. Lệnh thực hiện phép trừ hai số nguyên 32 bits nằm trong ACCU2 cho số nguyên 32 bits trong ACCU1. Lệnh thực hiện phép chia số nguyên 32 bits trong ACCU2 cho số nguyên 32 bits trong ACCU.
Lệnh xác định phần dư của phép chia số nguyên 32 bits trong ACCU2 cho số nguyên 32 bits trong ACCU. Lệnh thực hiện phép cộng hai số thực dấu phẩy động nằm trong ACCU1 và ACCU2. Lệnh thực hiện phép nhân hai số thực trong ACCU1 và ACCU2… Kết quả được ghi lại vào ACCU1.
Lệnh thực hiện phép chia số thực trong ACCU2 cho số thực trong ACCU1… Kết quả được ghi lại vào ACCU1. Lệnh tính arcsin của số thực trong ACCU1, số thực này phải nằm trong khoảng -1- 1. Lệnh tính arccos của số thực trong ACCU1, số thực này phải nằm trong khoảng -1- 1.
Lệnh tính giá trị bình phương của số thực trong ACCU1, số thực này phải là một số thực không âm.
Lệnh thực hiện việc chuyển đổi một số BCD có 7 chữ số nằm trong 28 bits đầu của ACCU1 thành số nguyên 32bits. Lệnh thực hiện việc chuyển đổi số nguyên 16 bits nằm trong từ thấp của ACCU1 thanh số BCD có 3 chữ số nằm. Lệnh thực hiện việc chuyển đổi số nguyên 32 bits trong ACCU1 thanh số BCD có 7 chữ số nằm.
Lệnh thực hiện việc chuyển đổi một số nguyên 16 bits trong từ thấp của ACCU1 thành số nguyên 32 bits. Lệnh thực hiện việc chuyển đổi số thực dấu phẩy động trong ACCU1 thành số nguyên 32 bits có giá trị gần nhất so với số thực đã cho. Nếu số thực đã cho nằm giữa hai số nguyên thì CPU sẽ lấy số chẵn.
Lệnh thực hiện việc chuyển đổi số thực dấu phẩy động trong ACCU1 thành số nguyên 32 bits có giá trị nhỏ nhất nhưng. Lệnh thực hiện việc chuyển đổi số thực dấu phẩy động trong ACCU1 thành số nguyên 32 bits có giá trị lớn nhất nhưng không lớn hơn số thực đã cho.
Nhãn là một dãy số với nhiều nhất 4 ký tự hoặc số và phải được bắt đầu bằng một ký tự. Khi gặp lệnh này thì CPU của S7-300 sẽ tự giảm nội dung của từ thấp trong ACCU1 đi một đơn vị và kiểm tra xem kết quả có băng 0 hay không. Nếu khác 0, CPU sẽ thực hiện bước nhảy đến đoạn chương trình được đánh dấu bởi “nhãn”.
L <Tên Counter> Là tên bộ đếm mà C-Word của nó được đọc vào ACCU1. LC <Tên Counter> Là tên bộ đếm mà C-Word của nó được đọc vào ACCU1.
Do toàn bộ chương trình điều khiển chỉ nằm trong khối OB1,nên khối OB1 sẽ gần như là được thường trựctrong vùng ngớ Work memory, trừ trường trường hợp khi hệ thống phải xử lý các tín hiệu báo ngắt. Ngoài khối OB1 trong vùng nhớ ửok memory còn có miền nhớ địa phương (Local Block) cấp phát cho OB1 và những khối DB được OB1 sử dụng. Khi thực hiện khối OB1, hệ điều hành luôn cấp một Local Block có kích thước mặc định là 20 Bytes trong Word memory để OB1 có thể lấy được những dữ liệu từ hệ điều hành.
Mặc dù kích thước chỉ là 20 Bytes mặc định, nhưng người sử dung có thể Local Block để sử dụng thêm các biến nhớ cho trương trình. Tuy nhiên, phải để ý rằng do Local Block được giải phóng ở cuối mỗi vòng quét và được cấp lại ở đầu vòng quetsau nên các giá trị có trong Local Block của vòng quét trước cũng bị mất khi bắt đầu vòng quét mới. Do đó tốt nhất chỉ nên sử dung Local Block cho việc lưu giữ các biến nháp tạm thời trong tính toán của một vòng quét.
- Sau khi khối con thực hiện xong nhiệm vụ và ghi kết quả dưới dạng tham trị đầu ra cho biến OUT, IN - OUT của local block, hệ điều hành sẽ chuyển các tham trị này cho khối mẹ và giải phóng khối con cùng local block ra khỏi Work memory. Việc khai báo local block đồng nghĩa với việc đặt tên biến, định nghĩa lại biến và kiểu dữ liệu cho từng biến trong đó tên biến là những dãy ký tự hoặc số và không thuộc nhóm ký tự khoá (đã được dùng bởi hệ điều hành). Để khắc phục nhược điểm này, S7 - 300/400 cung cấp một loại khối FB tương tự như khối FC nhưng lại có khả năng lưu giữ lại được nội dung các biến tạm thời cho các vòng quét kế tiếp.
- Ghi các tham trị từ khối mẹ vào các tham biến hình thức loại IN, IN - OUT và nội dung các ô nhớ tương ứng trong DB kèm theo vào biến loại STAT trong local block. - Khi chương trình trong khối FB kết thúc hệ điều hành chuyển nội dung của biến hình thức loại OUT, IN - OUT về cho khối mẹ và ghi lại các giá trị của biến thụôc loại STAT trong local block vào khối dữ liệu kèm theo. Ngay sau khi viết lệnh gọi khối hàm FB và nếu khoi DB kèm theo cha được soạn thảo trước Step 7 sẽ tạo lập một DB mới có cấu trúc phù hợp với local block của khối hàm FB đó.
Mỗi loại CPU có thể hỗ trợ một hay nhiều loại thời gian, như vậy trước khi sử dụng ngắt theo thời gian thì ta phải xác định loại CPU sử dụng và nó hỗ trợ ngắt theo thời gian nào (ví dụ: CPU 314 hỗ trợ ngắt thời gian là OB10). Nếu xảy ra lỗi về thời gian: như khi khối xử lý thời gian trễ chưa xử lý xong thì có một ngắt khác có cùng mức ưu tiên cũng tích cực cùng gọi khối tổ chức này. Ta chỉ cần viết chương trình vào khối OB ngắt thời gian trễ mà CPU hỗ trợ rồi tải xuống chương trình thì lập tức khối sẽ được gọi theo thời gian mặc định nếu ta không muốn thay đổi thời gian ngắt của nó.
Chương trình trong khối OB 80 sẽ được thực hiện khi thời gian vòng quét vượt quá khoảng thời gian cực đại đã quy định hoặc khi có một tín hiệu ngắt gọi một khối OB nào đó mà khối OB này chưa kết thúc ở lần gọi trước. Khối OB121 sẽ được thực hiện khi CPU phát hiện thấy lỗi logic trong chương trình như đổi sai kiểu dữ liệu hoặc lỗi truy nhập khối DB, khối FC, khối FB không có trong bộ nhớ của CPU. Tương tự khi thực hiện xong chương trình OB121 và trở về OB bị ngắt, chương trình trong khối OB nay có thể sử dụng đọc nội dung các thanh ghi được sửa bởi OB121.