meta data for this page
uPLC
Introduction
The internal u-PLC connects the external world (inputs/outputs) with the parameters of the NLi integrated-drive linear motor. The PLC can copy a digital input to a binary parameter, copy a binary parameter to a digital output, and execute mathematical and Boolean operations.
The PLC program is inserted as a list of instructions, either by keyboard or via the serial line using a PC and an interface program. A PLC program written to meet the needs of most applications corresponds to the default parameters. In most cases, it is not necessary to program the PLC itself.
The main features of the uPLC are:
* 64 program steps * 6 ms fixed scan time * 2 timers * 15 different instructions * Stack depth equal to 1 * Mathematical operations 16 / 32 bits
The uPLC feature is available with firmware version ≥ 5E41.
Note that when the uPLC is running, the 3 digital outputs are under control of the PLC program. So the PLC program can associate every event with these 3 digital outputs, instead of the standard options.
PLC instructions
| Symbol | Instruction | Parameter | Comment |
![]() | LD | Pa,y | loads the y bit of the Pa parameter on the stack |
![]() | LDn | Pa,y | loads the negated y bit of the Pa parameter on the stack |
![]() | OUT | Pa,y | sets the y bit of the Pa parameter to the value loaded on the stack |
![]() | OUTn | Pa,y | places the y bit of the Pa parameter to the value of the stack, negating it |
![]() | SET | Pa,y | if the stack = 1, the y bit of the Pa parameter is set to 1 |
![]() | RES | Pa,y | if the stack = 1, the y bit of the Pa parameter is set to 0 |
![]() | AND | Pa,y | if the bit loaded on the stack contains the result of the logical AND operation between itself and the y bit of the Pa parameter |
![]() | ANDn | Pa,y | the bit of the stack contains the result of the logical AND operation between itself and the y bit of the negated Pa parameter |
![]() | OR | Pa,y | the bit loaded on the stack contains the result of the logical OR operation between itself and the y bit of the Pa parameter |
![]() | ORn | Pa,y | the bit on the stack contains the result of the logical OR operation between itself and the y bit of the negated Pa parameter |
![]() | ADD | Pa,Pb,Pc | if the bit on the stack = 1, the addition operation is executed on the parameters in which: Pc = Pa + Pb |
![]() | SUB | Pa,Pb,Pc | if the bit on the stack = 1, the subtraction operation is executed on the parameters in which: Pc = Pa – Pb |
![]() | MUL | Pa,Pb,Pc | if the bit on the stack = 1, the multiplication operation is executed on the parameters in which: Pc = Pa ⋅ Pb |
![]() | DIV | Pa,Pb,Pc | if the bit on the stack = 1, the division operation is executed on the parameters in which: Pc = Pa / Pb. If Pb is equal to 0, the division operation is not executed |
![]() | MOV | Pa, Pb | if the bit on the stack = 1, the Pa register is copied to the Pb register |
![]() | CMP | Pa, Pb | if the bit on the stack = 1, compare the Pa register with the Pb register. If Pa is equal to Pb, register 8671 bit 3 is set to 1; if Pa < Pb, bit 2 is set to 1; if Pa > Pb, bit 4 is set to 1. |
![]() | END | end of program |














