I. NGOĐN NGỮ LAƠP TRÌNH CỤA S7-200 CPU
Các leơnh dịch chuyeơn thanh gh
Các leơnh dịch chuyeơn thanh ghi được chia làm hai nhóm:
Nhóm các leơnh làm vieơc với thanh ghi có đoơ dài baỉng moơt từ đơn (16-bít) hay moơt từ kép (32-bít).
Nhóm các leơnh làm vieơc với thanh ghi có đoơ dài tùy ý mà được định nghĩa trong leơnh.
Nhóm leơnh với thanh ghi có đoơ dài 16 hoaịc 32 bít.
Leơnh dịch chuyeơn thuoơc nhóm này cho phép dịch chuyeơn và quay các bít trong các từ đơn và trong các từ kép.
Sô laăn dịch chuyeơn các bít cụa từ đơn hay từ kép được chư thị baỉng moơt toán háng trong được gĩi là sô laăn đêm đaơy.
Sô laăn quay các bít cụa từ đơn hay từ kép cũng được chư thị baỉng moơt toán háng trong leơnh, được gĩi là sô laăn đêm quay.
Khi sử dúng các leơnh dịch chuyeơn các bít cụa từ đơn hay từ kép caăn chú ý:
Sẽ khođng thực hieơn vieơc dịch chuyeơn nêu như sô đêm laăn đaơy baỉng 0.
Nêu sô laăn đaơy có giá trị lớn hơn 0, bít nhớ tràn SM1.1 có giá trị logic cụa bít cuôi cùng được đaơy ra.
Nêu sô đêm laăn đaơy lớn hơn hoaịc baỉng 16 (từ đơn), lớn hơn hoaịc baỉng 32 (từ kép) khi dịch chuyeơn thì leơnh sẽ chư thực hieơn với sô đêm laăn đaơy lớn nhât là 16 hoaịc 32.
Leơnh SRW (đaơy các bít từ đơn sang phại) và SDR (đaơy các bít từ kép sang phại) sẽ chuyeơn giá trị 0 vào bít cao nhât cụa từ hoaịc từ kép tái moêi laăn đaơy. Sau khi thực hieơn leơnh, bít SM1.1 sẽ có giá trị ụa bít thứ N-1 cụa từ đơn hoaịc từ kép với N là sô laăn đaơy.
Leơnh SLW (đaơy các bít từ đơn sang trái) và SRD (đaơy các bít từ kép sang trái) sẽ chuyeơn giá trị logic 0 vào bít thâp nhât cụa từ hoaịc từ kép tái moêi laăn đaơy. Sau khi thực hieơn leơnh, bít SM1.1 sẽ có giá trị cụa bít thứ 16-N đôi với từ đơn hoaịc 32-N đôi với từ kép, trong đó N là sô laăn đaơy.
Bít báo kêt quạ 0 (bít SM1.0) sẽ có giá trị logic baỉng 1 nêu như sau khi thực hieơn leơnh đaơy noơi dung cụa từ đơn hay từ kép baỉng 0.
Khi sử dúng leơnh quay các bít cụa từ đơn hay từ kép caăn chú ý:
Leơnh quay thực hieơn phép đaơy vòng tròn sang trái hay phại các bít cụa moơt từ đơn hoaịc cụa moơt từ kép. Tái moêi laăn quay, giá trị logic cụa bít bị đaơy ra khỏi đaău này cũng là giá trị logic được đưa vào đaău kia cụa từ hay cụa từ kép.
Leơnh quay sẽ khođng thực hieơn nêu như sô đêm laăn quay có giá trị là 0 hay baỉng boơi sô cụa 16 (với từ đơn) hoaịc 32 (với từ kép).
Đôi với các giá trị khác cụa sô đêm laăn quay lớn hơn 16 (đôi với từ đơn) hoaịc 32 (đôi với từ kép), leơnh sẽ thực hieơn với sô đêm laăn quay mới baỉng phaăn dư cụa sô đêm laăn quay cũ chia cho 16 hoaịc chia cho 32.
Khi thực hieơn leơnh quay sang phại RRW (với từ đơn) hay RRD (với từ kép), tái moêi laăn quay giá trị thâp nhât trong từ hoaịc từ kép được ghi vào bít báo tràn SM1.1. Sau
khi leơnh được thực hieơn xong bít SM1.1 sẽ có giá trị logic bít 16-N cụa từ đơn hoaịc 32-N cụa từ kép, trong đó N là sô đêm laăn quay.
Khi thực hieơn leơnh quay sang trái RLW (với từ đơn) hay RLD (với từ kép) tái moêi laăn quay, giá trị logic cụa bít cao nhât trong từ hoaịc từ kép được ghi vào bít báo tràn SM1.1. Sau khi leơnh được thực hieơn xon bít SM1.1 sẽ có giá trị logic bít thứ N-1 trong từ đơn hoaịc từ kép, trong đó N là sô đêm laăn quay (mới).
Bít báo kêt quạ 0 (bít SM1.0) sẽ có giá trị logic 1 nêu từ hay từ kép được quay có giá trị baỉng 0.
a. Leơnh SHR_R:
Là leơnh dịch chuyeơn các bít cụa từ đơn IN sang phại N vị trí, trong đó N được gĩi là sô đêm laăn dịch chuyeơn. Tái moêi laăn dịch chuyeơn, giá trị logic 0 được đưa vào bít cao (bít thứ 15) và giá trị logic cụa bít thâp (bít 0) được chuyeơn vào bít báo tràn SM1.1.
Trong LAD kêt quạ được ghi vào OUT, còn trong STL kêt quạ văn naỉm trong IN.
Cú pháp cụa leơnh như sau:
LAD STL SRW IN N SHR W EN IN OUT N