Bit logic operations
• —| |—: Normally open contact (S7-1200, S7-1500)
• —| / |—: Normally closed contact (S7-1200, S7-1500)
• –|NOT|–: Invert RLO (S7-1200, S7-1500)
• —( )—: Assignment (S7-1200, S7-1500)
• –( / )–: Negate assignment (S7-1200, S7-1500)
• —( R )—: Reset output (S7-1200, S7-1500)
• —( S )—: Set output (S7-1200, S7-1500)
• SET_BF: Set bit field (S7-1200, S7-1500)
• RESET_BF: Reset bit field (S7-1200, S7-1500)
• SR: Set/reset flip-flop (S7-1200, S7-1500)
• RS: Reset/set flip-flop (S7-1200, S7-1500)
• –|P|–: Scan operand for positive signal edge (S7-1200, S7-1500)
• –|N|–: Scan operand for negative signal edge (S7-1200, S7-1500)
• –(P)–: Set operand on positive signal edge (S7-1200, S7-1500)
• –(N)–: Set operand on negative signal edge (S7-1200, S7-1500)
• P_TRIG: Scan RLO for positive signal edge (S7-1200, S7-1500)
• N_TRIG: Scan RLO for negative signal edge (S7-1200, S7-1500)
• R_TRIG: Detect positive signal edge (S7-1200, S7-1500)
• F_TRIG: Detect negative signal edge (S7-1200, S7-1500)
Timer operations
• TP: Generate pulse (S7-1200, S7-1500)
• TON: Generate on-delay (S7-1200, S7-1500)
• TOF: Generate off-delay (S7-1200, S7-1500)
• TONR: Time accumulator (S7-1200, S7-1500)
• —( TP )—: Start pulse timer (S7-1200, S7-1500)
• —( TON )—: Start on-delay timer (S7-1200, S7-1500)
• —( TOF )—: Start off-delay timer (S7-1200, S7-1500)
• —( TONR )—: Time accumulator (S7-1200, S7-1500)
• —( RT )—: Reset timer (S7-1200, S7-1500)
• —( PT )—: Load time duration (S7-1200, S7-1500)
Counter operations
• CTU: Count up (S7-1200, S7-1500)
• CTD: Count down (S7-1200, S7-1500)
• CTUD: Count up and down (S7-1200, S7-1500)
Comparator operations
• CMP ==: Equal (S7-1200, S7-1500)
• CMP <>: Not equal (S7-1200, S7-1500)
• CMP >=: Greater or equal (S7-1200, S7-1500)
• CMP <=: Less or equal (S7-1200, S7-1500)
• CMP >: Greater than (S7-1200, S7-1500)
• CMP <: Less than (S7-1200, S7-1500)
• IN_RANGE: Value within range (S7-1200, S7-1500)
• OUT_RANGE: Value outside range (S7-1200, S7-1500)
• —-I OK I—-: Check validity (S7-1200, S7-1500)
• —-I NOT_OK I—-: Check invalidity (S7-1200, S7-1500)
• VARIANT (S7-1200, S7-1500)
Math functions
• CALCULATE: Calculate (S7-1200, S7-1500)
• ADD: Add (S7-1200, S7-1500)
• SUB: Subtract (S7-1200, S7-1500)
• MUL: Multiply (S7-1200, S7-1500)
• DIV: Divide (S7-1200, S7-1500)
• MOD: Return remainder of division (S7-1200, S7-1500)
• NEG: Create twos complement (S7-1200, S7-1500)
• INC: Increment (S7-1200, S7-1500)
• DEC: Decrement (S7-1200, S7-1500)
• ABS: Form absolute value (S7-1200, S7-1500)
• MIN: Get minimum (S7-1200, S7-1500)
• MAX: Get maximum (S7-1200, S7-1500)
• LIMIT: Set limit value (S7-1200, S7-1500)
• SQR: Form square (S7-1200, S7-1500)
• SQRT: Form square root (S7-1200, S7-1500)
• LN: Form natural logarithm (S7-1200, S7-1500)
• EXP: Form exponential value (S7-1200, S7-1500)
• SIN: Form sine value (S7-1200, S7-1500)
• COS: Form cosine value (S7-1200, S7-1500)
• TAN: Form tangent value (S7-1200, S7-1500)
• ASIN: Form arcsine value (S7-1200, S7-1500)
• ACOS: Form arccosine value (S7-1200, S7-1500)
• ATAN: Form arctangent value (S7-1200, S7-1500)
• FRAC: Return fraction (S7-1200, S7-1500)
• EXPT: Exponentiate (S7-1200, S7-1500)
Move operations
• MOVE: Move value (S7-1200, S7-1500)
• Deserialize: Deserialize (S7-1200, S7-1500)
• Serialize: Serialize (S7-1200, S7-1500)
• MOVE_BLK: Move block (S7-1200, S7-1500)
• MOVE_BLK_VARIANT: Move block (S7-1200, S7-1500)
• UMOVE_BLK: Move block uninterruptible (S7-1200, S7-1500)
• FILL_BLK: Fill block (S7-1200, S7-1500)
• UFILL_BLK: Fill block uninterruptible (S7-1200, S7-1500)
• SCATTER: Parse the bit sequence into individual bits (S7-1200, S7-1500)
• SCATTER_BLK: Parse elements of an ARRAY of bit sequence into individual
bits (S7-1200, S7-1500)
• GATHER: Merge individual bits into a bit sequence (S7-1200, S7-1500)
• GATHER_BLK: Merge individual bits into multiple elements of an ARRAY of
bit sequence (S7-1200, S7-1500)
• AssignmentAttempt: Attempt assignment of a VARIANT to a reference (S7-
1500)
• SWAP: Swap (S7-1200, S7-1500)
• ARRAY DB (S7-1500)
• VARIANT (S7-1200, S7-1500)
• ARRAY[*] (S7-1200, S7-1500)
Conversion operations
• CONVERT: Convert value (S7-1200, S7-1500)
• ROUND: Round numerical value (S7-1200, S7-1500)
• CEIL: Generate next higher integer from floating-point number (S7-1200, S7-
1500)
• FLOOR: Generate next lower integer from floating-point number (S7-1200, S7-
1500)
• TRUNC: Truncate numerical value (S7-1200, S7-1500)
• SCALE_X: Scale (S7-1200, S7-1500)
• NORM_X: Normalize (S7-1200, S7-1500)
Program control operations
• —( JMP ): Jump if RLO = 1 (S7-1200, S7-1500)
• —( JMPN ): Jump if RLO = 0 (S7-1200, S7-1500)
• LABEL: Jump label (S7-1200, S7-1500)
• JMP_LIST: Define jump list (S7-1200, S7-1500)
• SWITCH: Jump distributor (S7-1200, S7-1500)
• –(RET): Return (S7-1200, S7-1500)
• Runtime control (S7-1200, S7-1500)
Word logic operations
• AND: AND logic operation (S7-1200, S7-1500)
• OR: OR logic operation (S7-1200, S7-1500)
• XOR: EXCLUSIVE OR logic operation (S7-1200, S7-1500)
• INVERT: Create ones complement (S7-1200, S7-1500)
• DECO: Decode (S7-1200, S7-1500)
• ENCO: Encode (S7-1200, S7-1500)
• SEL: Select (S7-1200, S7-1500)
• MUX: Multiplex (S7-1200, S7-1500)
• DEMUX: Demultiplex (S7-1200, S7-1500)
Shift and rotate
• SHR: Shift right (S7-1200, S7-1500)
• SHL: Shift left (S7-1200, S7-1500)
• ROR: Rotate right (S7-1200, S7-1500)
• ROL: Rotate left (S7-1200, S7-1500)
Date and time-of-day
• T_COMP: Compare time tags (S7-1500)
• T_CONV: Convert times and extract (S7-1200, S7-1500)
• T_ADD: Add times (S7-1200, S7-1500)
• T_SUB: Subtract times (S7-1200, S7-1500)
• T_DIFF: Time difference (S7-1200, S7-1500)
• T_COMBINE: Combine times (S7-1200, S7-1500)
• Time-of-day functions (S7-1200, S7-1500)
String + Char
• S_MOVE: Move character string (S7-1200, S7-1500)
• S_COMP: Compare character strings (S7-1500)
• S_CONV: Convert character string (S7-1200, S7-1500)
• STRG_VAL: Convert character string to numerical value (S7-1200, S7-1500)
• VAL_STRG: Convert numerical value to character string (S7-1200, S7-1500)
• Strg_TO_Chars: Convert character string to Array of CHAR (S7-1200, S7-
1500)
• Chars_TO_Strg: Convert Array of CHAR to character string (S7-1200, S7-
1500)
• MAX_LEN: Determine the length of a character string (S7-1200, S7-1500)
• JOIN: Join multiple strings (S7-1500)
• SPLIT: Splitting an array of characters into multiple strings (S7-1500)
• ATH: Convert ASCII string to hexadecimal number (S7-1200, S7-1500)
• HTA: Convert hexadecimal number to ASCII string (S7-1200, S7-1500)
• LEN: Determine the length of a character string (S7-1200, S7-1500)
• CONCAT: Combine character strings (S7-1200, S7-1500)
• LEFT: Read the left character of a character string (S7-1200, S7-1500)
• RIGHT: Read the right characters of a character string (S7-1200, S7-1500)
• MID: Read middle characters of a character string (S7-1200, S7-1500)
• DELETE: Delete characters in a character string (S7-1200, S7-1500)
• INSERT: Insert characters in a character string (S7-1200, S7-1500)
• REPLACE: Replace characters in a character string (S7-1200, S7-1500)
• FIND: Find characters in a character string (S7-1200, S7-1500)
• Runtime information (S7-1200, S7-1500)
Distributed I/O
• Overview of the types of data records (S7-1200, S7-1500)
• RDREC: Read data record (S7-1200, S7-1500)
• WRREC: Write data record (S7-1200, S7-1500)
• GETIO: Read process image (S7-1200, S7-1500)
• SETIO: Transfer process image (S7-1200, S7-1500)
• Program example for GETIO & SETIO (S7-1200, S7-1500)
• GETIO_PART: Read process image area (S7-1200, S7-1500)
• SETIO_PART: Transfer process image area (S7-1200, S7-1500)
• Program example for GETIO_PART & SETIO_PART (S7-1200, S7-1500)
• RALRM: Receive interrupt (S7-1200, S7-1500)
• D_ACT_DP: Enable/disable DP slaves (S7-1200, S7-1500)
• ReconfigIOSystem: Reconfigure IO system (S7-1200, S7-1500)
• Others (S7-1200, S7-1500)
PROFIenergy
• Description of PROFIenergy (S7-1200, S7-1500)
• IO controller (S7-1200, S7-1500)
• iDevice / iSlave (S7-1200, S7-1500)
Interrupts
• ATTACH: Attach an OB to an interrupt event (S7-1200, S7-1500)
• DETACH: Detach an OB from an interrupt event (S7-1200, S7-1500)
• Cyclic interrupt (S7-1200, S7-1500)
• Time-of-day interrupt (S7-1200, S7-1500)
• Time-delay interrupt (S7-1200, S7-1500)
• Asynchronous error event (S7-1200, S7-1500)
Alarms
• Gen_UsrMsg: Generate user diagnostic alarms (S7-1200, S7-1500)
• Program example for Get_Alarm & Ack_Alarms (S7-1200, S7-1500)
Diagnostics
• RD_SINFO: Read current OB start information (S7-1200, S7-1500)
• RT_INFO: Read out runtime statistics (S7-1500)
• LED: Read LED status (S7-1200, S7-1500)
• Get_IM_Data: Reading identification and maintenance data (S7-1200, S7-
1500)
• GET_NAME: Read out name of an IO device or a DP slave (S7-1200, S7-1500)
• GetStationInfo: Read information of an IO device (S7-1200, S7-1500)
• GetChecksum: Read out checksum (S7-1200, S7-1500)
• GetSMCinfo: Reading out information about the SIMATIC memory card (S7-
1500)
• GetClockStatus: Read out status of the CPU clock (S7-1500)
• DeviceStates: Read module status information in an IO system (S7-1200, S7-
1500)
• ModuleStates: Read module status information of a module (S7-1200, S7-
1500)
• GEN_DIAG: Generate diagnostics information (S7-1500)
• GET_DIAG: Read diagnostic information (S7-1200, S7-1500)
Pulse
• CTRL_PWM: Pulse-width modulation (S7-1200)
• CTRL_PTO: Output a pulse sequence with a preset frequency (S7-1200)
Recipes and data logging
• Recipe functions (S7-1200, S7-1500)
• Data logging (S7-1200, S7-1500)
Data block functions
• CREATE_DB: Create data block (S7-1200, S7-1500)
• READ_DBL: Read from data block in the load memory (S7-1200, S7-1500)
• WRIT_DBL: Write to data block in the load memory (S7-1200, S7-1500)
• ATTR_DB: Read data block attribute (S7-1200, S7-1500)
• DELETE_DB: Delete data block (S7-1200, S7-1500)
• Program example for CREATE functions (S7-1200, S7-1500)
Addressing
• Instructions for address conversion (S7-1200, S7-1500)
• GEO2LOG: Determine hardware identifier from slot (S7-1200, S7-1500)
• LOG2GEO: Determine slot from hardware identifier (S7-1200, S7-1500)
• LOG2MOD: Determine the hardware identifier from addressing of STEP 7
V5.5 SPx (S7-1500)
• IO2MOD: Determine hardware identifier from an IO address (S7-1200, S7-
1500)
• RD_ADDR: Determine IO addresses from the hardware identifier (S7-1200, S7-
1500)
• System data type GEOADDR (S7-1200, S7-1500)
• Legacy (S7-1200, S7-1500)
Motion Control
S7-1200 Motion Control (S7-1200)
High-speed counters
CTRL_HSC: Control high-speed counters (S7-1200)
PID Control
• PID_Compact (S7-1200, S7-1500)
• PID_3Step (S7-1200, S7-1500)
• PID_Temp (S7-1200, S7-1500)
• PID basic functions (S7-1500)
• Polyline (S7-1200, S7-1500)
• SplitRange (S7-1200, S7-1500)
• RampFunction (S7-1200, S7-1500)
Communication
• S7 communication (S7-1200, S7-1500)
• Open User Communication (S7-1200, S7-1500)
• OPC UA (S7-1500)
• Web server (S7-1200, S7-1500)
• Communications processor (S7-1200, S7-1500)
• TeleService (S7-1200)
Hướng dẫn lệnh lập trình timer định thời plc
siemens s7-1200
Bài viết này thuộc khóa học lập trình plc Siemens online miễn phí của abientan,
mời các bạn tham khảo chi tiết tại:
khóa học lập trình plc siemens s7-1200 online miễn phí
Tìm hiểu cơ bản về timer định thời trên plc
siemens s7-1200
Trong quá trình lập trình plc siemens s7-1200 chạy cho máy móc thực tế
thường đòi hỏi chúng ta phải xử lý thao tác liên quan tới thời gian như delay tín
hiệu hoặc out ngõ ra. Vì vậy mà ta cần phải năm về cách sử dụng timer định
thời khi viết code cho plc siemens s7-1200, mời các bạn cùng abientan tìm
hiểu qua bài viết sau đây.
Ví dụ tiêu biểu nhất trong quá trình lập trình plc bắt buộc chúng ta phải sử
dụng timer đó chính là bài toán lập trình cột đèn giao thông xanh đỏ vàng.
Người viết chương trình plc bắt buộc phải dùng timer định thời để lập trình
đúng thời gian bật và tắt lần lượt đèn xanh đỏ vàng.
Các loại timer định thời trên plc siemens s7-
1200 và cách sử dụng
Timer nhận xung cạnh lên trên plc siemens s7-1200
Timer nhận xung cạnh lênh trên plc siemens s7-1200
        Chức năng khi ngõ vào timer có xung cạnh lên thì ngõ ra Q của timer
         này sẽ out ra trong 1 khoảng thời gian cài đặt ở giá trị PT. Còn ET là
         thời gian của bộ đếm.
        Theo như ví dụ trên khi M0.0 chuyển từ 0=>1 thì Q0.0 sẽ ON trong
         10,000ms sau đó tự tắt.
Timer on delay trên plc siemens s7-1200
Timer On delay trên plc siemens s7-1200
        Chức năng khi ngõ vào IN lên 1 thì ngõ ra Q sẽ delay một khoảng thời
         gian cài đặt ở PT sau đó lên 1, khi ngõ vào IN xuống 0 thì ngõ ra Q lập
         tức xuống 0.
        Ví dụ như hình trên thì khi M0.0 từ 0=>1 thì timer sẽ đếm cho đủ 10s
         sau đó bật Q0.0 lên 1.
Timer off delay trên plc siemens s7-1200
Timer off delay trên plc siemens s7-1200
        Chức năng khi ngõ vào IN chuyển từ 1=>0 thì timer sẽ đếm sau
         khoảng thời gian cài đặt ở PT thì sẽ chuyển Q từ 1=>0. Còn nếu ngõ
         vào từ 0=>1 thì ngõ ra Q chuyển lập tức từ 0=>1
        Như ví dụ trên khi M0.00 từ 1=>1 thì sau 10s Q0.0 sẽ từ 1=>0
Timer on delay có nhớ trên plc siemens s7-1200
Timer on delay có nhớ trên plc siemens s7-1200
        Chức năng: tương tự như timer on delay tuy nhiên khi ngõ IN chuyển
         xuống 0 thì giá trị timer vẫn giữ và khi IN lên 1 thì tiếp tục đếm từ giá
         trị này. Lệnh này có thêm ngõ vào R để reset timer.
         Mô tả ví dụ: khi M0.0 chuyển từ 0=>1 thì timer bắt đầu đếm cho đủ
          10s sau đó ON Q0.0. Nếu trong quá trình chưa đủ 10s mà M0.0 bị
          chuyển về 0 thì giá trị timer lưu lại và để lần sau đếm tiếp.
Lưu ý: khi sử dụng timer các bạn cần phải tham khảo giới hạn bộ nhớ trong
từng cpu để không sử dụng quá giới hạn bộ nhớ timer.
Khi viết chương trình cho plc siemens s7-1200 có nhiều trường hợp ta cần
đếm số lượng một thao tác nào đó từ cảm biến bên ngoài hoặc bit phụ trên plc
thì thường ta phải sử dụng đến khối hàm chức năng có tên gọi là counter hay
bộ đếm do hãng tích hợp sẵn trong tập lệnh của CPU.
Trên plc siemens s7-1200 có sẵn 3 lệnh counter bộ đếm với sự khác nhau như
tên gọi của chúng là counter đếm lên, counter đếm xuống, counter vừa đếm
lên, vừa đếm xuống.
Lưu ý: đây là counter bộ đếm thường nên tốc độ đếm xung đầu vào khá thấp
nên chỉ đếm những tín hiệu ngõ vào có tốc độ thấp, nếu cấp xung tốc độ cao
vào bộ đếm này sẽ không còn chính xác. Để đếm các tín hiệu xung tốc độ cao
thì các bạn tham khảo bài tiếp theo trong khóa học này về HSC.
Mô tả chi tiết lệnh counter bộ đếm trên plc siemens
s7-1200
Lệnh counter đếm lên trên plc siemens s7-1200
Lệnh counter đếm lên trên plc siemens s7-1200
Mô tả chi tiết lệnh counter đếm lên trên plc siemens s7-1200:
         CU là ngõ vào của bộ đếm có thể là dữ liệu dạng bit bất kỳ, counter sẽ
          đếm lên khi tín hiệu ngõ vào chuyển từ 0=>1
      
         R là ngõ vào để reset bộ đếm.
         PV là giá trị cài đặt của bộ đếm.
         Q là tín hiệu ngõ ra của bộ đếm khi đếm lên tới giá trị PV thì ngõ ra
          này sẽ kích hoạt lên 1.
         CV là giá trị hiện tại của bộ đếm.
Lệnh counter đếm xuống trên plc siemens s7-1200
Lệnh counter đếm xuống trên plc siemens s7-1200
Mô tả chi tiết lệnh counter đếm xuống trên plc siemens s7-1200
         CD là ngõ vào tín hiệu, counter sẽ đếm xuống khi tín hiệu này từ 0=>1
         LD là bit reset bộ đếm, khi bit này từ 0=>1 thì giá trị của bộ đếm sẽ bị
          chuyển về giá trị PV
         PV là giá trị cài đặt của bộ đếm
         Q là ngõ ra của bộ đếm khi đếm về giá trị 0 sẽ out ra 1.
         CV là giá trị hiện tại của bộ đếm.
Lệnh counter đếm lên và xuống trên plc siemens s7-1200
Lệnh counter đếm lên xuống trên plc siemens s7-1200
Mô tả chi tiết lệnh đếm lên xuống trên plc siemens s7-1200
         CU là ngõ vào đếm lên
         CD là ngõ vào đếm xuống
         R là chân reset khi chân này chuyển từ 0=>1 thì giá trị bộ đếm về 0.
         LD là chân reset về giá trị PV
         QU on lên 1 khi giá trị đếm bằng giá trị PV
         QD on lên 1 khi giá trị đếm =0
         CV là giá trị hiện tại của bộ đếm.
Tìm hiểu cơ bản về lệnh so sánh trên plc siemens s7-
1200
Cú pháp lệnh so sánh trên plc siemens s7-1200
         = ngõ ra được kích hoạt nếu IN1=IN2
         <> ngõ ra được kích hoạt nếu IN1#IN2
         >= ngõ ra được kích hoạt nếu IN1 lớn hơn hoặc bằng IN2
         <= ngõ ra được kích hoạt nếu IN1 nhỏ hơn hoặc bằng IN2
         > ngõ ra được kích hoạt nếu IN1 lớn hơn IN2
         < ngõ ra được kích hoạt nếu IN1 nhỏ hơn IN2
Vùng dữ liệu thực hiện lệnh so sánh trên plc siemens s7-1200
Lệnh so sánh được thực hiện trên vùng nhớ bao gồm: SInt, Int, DInt, USInt, UInt,
UDInt, Real, LReal, String, Char, Time, DTL, Constan
Ví dụ về lệnh so sánh trên plc siemens s7-1200
                                                                            Ví
dụ lệnh so sánh trên plc siemens s7-1200
Một số lệnh so sánh khác trên plc siemens s7-12000
Lệnh so sánh trong khoảng giá trị trên plc siemens s7-1200
Lệnh so sánh trong khoảng giá trị plc siemens s7-1200
Mô tả: nếu giá trị ở VAL nằm trong khoảng từ MIN tới MAX thì ngõ ra sẽ có tác
động lên 1.
Lệnh so sánh ngoài khoảng giá trị trên plc siemens s7-1200
                                                                              L
ệnh so sánh ngoài khoảng giá trị trên plc siemens s7-1200
Mô tả: nếu giá trị ở VAL nằm ngoài khoảng giá trị MIN-MAX thì giá trị ngõ ra sẽ
được lên 1.
Lệnh lập trình di chuyển copy bit thanh ghi plc
siemens s7-1200
Bài viết này thuộc khóa học lập trình plc Siemens online miễn phí của abientan,
mời các bạn tham khảo chi tiết tại:
khóa học lập trình plc siemens s7-1200 online miễn phí
Trong bài viết này mình sẽ chia sẻ cho các bạn một số lệnh lập trình plc
siemens 27-1200 có tác dụng để di chuyển hay sao chép dữ liệu bit thanh ghi,
mời các bạn tham khảo chi tiết như sau.
Lệnh sao chép thanh ghi trên plc siemens s7-
1200
Lệnh sao chép dữ liệu thanh ghi của plc siemens s7-1200 là một trong những
lệnh phổ biến và thường được sử dụng nhiều trong quá trình lập trình.
                                                                               Lệ
nh sao chép thanh ghi trên plc siemenss s7-1200
Cấu trúc của lệnh bao gồm 3 đầu vào như sau:
        EN là để kích hoạt lên
        IN là địa chỉ thanh ghi có giá trị cần sao chép
        OUT1 là địa chỉ thanh ghi lưu giá trị cần sao chép.
Như trong hình ví dụ thì khi EN lên 1 thì plc sẽ thực hiện sao chép giá trị của ô
nhớ MD10 vào ô nhớ MD20
Lưu ý kiểu dữ liệu của IN và OUT1 nên sử dụng cùng 1 kiểu với nhau để tránh
lỗi, nếu khác kiểu dữ liệu bạn có thể gặp phải lỗi như sau:
                                                                                L
ệnh sao chép dữ liệu trên plc siemens s7-1200
Như ví dụ trên hình nếu IN là 1 Dword trong khi OUT1 là Word thì lệnh MOVE
chỉ có tác dụng sao chép được word thấp của ô nhớ mà thôi. Như bạn thấy
trong ví dụ phias trên lệnh MOVE chỉ sao chép được Word thấp có giá trị 3456
mà thôi.
Vùng nhớ mà lệnh MOVE có thể tác động ba gồm: SInt, Int, DInt, USInt, UInt,
UDInt, Real, LReal, Byte, Word, DWord, Char, Array, Struct, DTL, Time.
Một số lệnh di chuyển sao chép dữ liệu khác
trên plc siemens s7-1200
        Lệnh MOVE_BLK lệnh sao chép khối dữ liệu
        Lệnh UMOVE_BLK: di chuyển khối dữ liệu vào địa chỉ mới.
Lưu ý hai lệnh này áp dụng cho kiểu dữ liệu Array
Đối với plc siemens hiện chưa hỗ trợ lệnh sao chép hay di chuyển dữ liệu dạng
bit nên bạn có thể sử dụng một số lệnh như R S SET_BF RESET_BF hoặc out
relay để xử lý trong quá trình lập trình với dữ liệu dạng bit
Lệnh lập trình tính toán số học trên plc siemens
s7-1200
Bài viết này thuộc khóa học lập trình plc Siemens online miễn phí của abientan,
mời các bạn tham khảo chi tiết tại:
khóa học lập trình plc siemens s7-1200 online miễn phí
Trong quá trình lập trình code cho plc siemens s7-1200 ta bắt buộc phải sử
dụng một số lệnh lập trình tính toán liên quan tới số học, mời các bạn tham
khảo chi tiết tập lệnh qua bài viết sau đây.
Lệnh phép toán cộng trên plc siemens s7-1200
                                                                              Lệ
nh phép toán cộng trên plc siemens s7-1200
Mô tả chi tiết lệnh phép toán cộng trên plc siemens s7-1200
        EN ngõ vào kích hoạt để thực hiện lệnh
        IN1 toán tử cộng 1
        IN2 là toán tử cộng 2
        OUT là kết quả
        Toán tử cộng có thể sử dụng trên vùng nhớ : SInt, Int, DInt, USInt, UInt,
         UDInt, Real, LReal, hằng số.
        Kết quả có thể sử dụng trên vùng nhớ: SInt, Int, DInt, USInt, UInt, UDInt,
         Real, LReal
=> Mô tả ví dụ: lệnh ADD như trên hình sẽ thực hiện phép tính cộng 2 giá trị lưu
ở ô nhớ MD1 và MD5 sau đó lưu kết quả vào ô nhớ có địa chỉ là MD9.
Lệnh phép toán trừ trên plc siemens s7-1200
                                                                             Lệnh
phép toán trừ trên plc siemens s7-1200
Mô tả chi tiết lệnh phép toán trừ trên plc siemens s7-1200
        EN là ngõ vào kích hoạt để thực hiện lệnh
        IN1 là số bị trừ
        IN2 là số trừ
        OUT là kết quả của phép toán IN1-IN2=OUT
        Số bị trừ và số trừ có thể sử dụng trên vùng nhớ: SInt, Int, DInt, USInt,
         UInt, UDInt, Real, LReal, hằng số.
        Kết quả có thể sử dụng vùng nhớ: SInt, Int, DInt, USInt, UInt, UDInt,
         Real, LReal
        Lưu ý: khi thực hiện phép trừ kết quả có thể bị âm và số hiển thị
         monitor trên phần mềm TIA Portal là dạng số âm, nên các bạn cần
         tìm hiểu thêm về kiểu dữ liệu hiển thị số âm để hiểu thêm.
=> Mô tả ví dụ: lệnh SUB như trên hình khi có tác động ngõ vào EN thì sẽ thực
hiện lấy IN1-IN2 và lưu giá trị vào ô nhớ OUT.
Lệnh phép tính nhân trên plc siemens s7-1200
                                                                                 Lệ
nh phép tính nhân trên plc siemens s7-1200
Mô tả chi tiết lệnh phép toán nhân trên plc siemens s7-1200
        EN là ngõ vào kích hoạt lệnh
        IN1 là toán tử nhân 1
        IN2 là toán tử nhân 2
        OUT là ô nhớ lưu kết quả của phép nhân
        IN1 IN2 có thể sử dụng trên vùng nhớ: SInt, Int, DInt, USInt, UInt, UDInt,
         Real, LReal, hằng số
        OUT có thể sử dụng trên vùng nhớ SInt, Int, DInt, USInt, UInt, UDInt,
         Real, LReal.
=> Mô tả ví dụ: lệnh MUL như trên hình sẽ thực hiện phép nhân giữa MD30 và
MD34 sau đó lưu kết quả vào MD38
Lệnh phép tính chia trên plc siemens s7-1200
                                                                              Lện
h phép toán chia trên plc siemens s7-1200
Mô tả chi tiết lệnh phép toán chia trên plc siemens s7-1200
        EN là ngõ vào kích hoạt lệnh
        IN1 là số bị chia
        IN2 là số chi
        OUT là kết quả của phép chia
        IN1 IN2 có thể sử dụng trên vùng nhớ: SInt, Int, DInt, USInt, UInt, UDInt,
         Real, LReal, hằng số
        OUT có thể sử dụng trên vùng nhớ: SInt, Int, DInt, USInt, UInt, UDInt,
         Real, LReal
        Lưu ý: khi thực hiện phép chia cho 0 thì kết quả lưu vào OUT sẽ là 0.
=> Mô tả chi tiết ví dụ: lệnh DIV trên sẽ thực hiện lấy IN1 là MD40(28) chia cho
IN2 là MD44(4) sau đó lưu giá trị vào OUT MD48(7)
Một số lệnh tính toán khác trên plc siemens s7-
1200
        INC: tăng giá trị ô nhớ lên 1 đơn vị
        DEC: giá giá trị ô nhớ lên 1 đơn vị
        ABS: lệnh lấy giá trị tuyệt đối
        MIN: lấy giá trị nhỏ nhất
        MAX: lấy giá trị lớn nhất.