The P Series EtherCAT and P Series Pulse (Indexer) drives provide a feature called 'Procedure Function' which is defined in more detail in the respective user guides.
Procedure Functions are for some drive features that may not be as commonly used outside of the Drive Support Tool environment itself.
For those situations where these features may be desired during runtime directly, they are made available via the EtherCAT bus (PD-xxC drives) or Modbus/RTU connections (PD-xxP drives).
The two primary objects involved with the procedure functions are:
Object number 0x2701 is the 'procedure command factor' and is set first, ideally an update before object 0x2700 is then configured.
Object 0x2700 is the 'procedure command code' and is used to select the actual 'procedure command'.
There are other objects that may also be involved depending on the specific function involved, such as to set the jog speed, etc. See the product manual for more details. There is a section dedicated Procedure Functions and then also refer to the individual descriptions for objects 0x2700 and 0x2701.
Some of the command codes have several possible events that can be triggered. The command factor (0x2701) defines which of these will occur when the command code is then set (0x2700).
Simply put, you write to object 0x2701 first to set up the command factor which will be used when you next write the particular command code to object 0x2700.
For example, command code (0x0001) is noted as "Manual Jog" but this actually has 5 distinct events that can be triggered.
1 = Servo On
2 = Servo Off
3 = Positive Jog Operation
4 = Negative Jog Operation
5 = 0 Speed Stop
While there are other objects or control flags that can enable/disable the drive, it can also be done via the manual jog command code. So, as an example (assuming the drive has already been configured and tuned for the motor and load):
First, I want to enable my drive using this method, so I write a value of 1 to object 0x2701 followed the next update by writing a value of 0x0001 to object 0x2700. The drive should enable (assuming other conditions allow enabling).
Second, I want to jog, so I'll next write a value of 3 to object 0x2701 followed the next update by again writing a value of 0x0001 to object 0x2700. The drive should attempt to jog in the "positive" direction.
Third, I want to stop my jog move so I write a value of 5 to object 0x2701 followed the next update by again writing a value of 0x0001 to object 0x2700. The drive should ramp to zero speed, but remain enabled and holding position.
Finally, not ever command code has multiple functions, such as "Software Reset", but the process is the same, there is just a single option for the command factor to be set to (in that case a value of 1).
Note - You may be able to write to both objects 0x2700 and 0x2701 in the same update, but generally its better practice to write to them in sequential updates following a state machine mentality. This will help avoid timing issues where it might process object 0x2700 but still be using an old value for 0x2701.
glh 2/2023