Obsidean_VM/04-InLavoro/9..... MASTER Transport/Standard Transport/Motor logic - FC Mot Init C...

192 lines
4.4 KiB
Markdown
Raw Normal View History

2025-02-18 05:37:27 -03:00
### The DB for the motor must be prepared with some parameters:
---
`CFG_TableTop_Zone` := TRUE if it is TTOP for example
* `Mot_DB.CFG_DP` =: TRUE if it connected on DP
* `Mot_DB.CFG_PN` := TRUE if it connected on PN
```pascal
// CHOOSE INVERTER
SET
U "DB Motors Manage".Mot_DB.CFG_DP
O "DB Motors Manage".Mot_DB.CFG_PN
U "DB Motors Manage".Mot_DB.CFG_VFD
SPBN AUX
CALL "FC Motor Protocols"
SPA END
AUX: NOP 0
// DIGITAL AND ANALOG INVERTER
SET
U "DB Motors Manage".Mot_DB.CFG_VFD
U "DB Motors Manage".Mot_DB.CFG_Analog_Speed
SPBN ANAL
CALL "FC Mot Manage VFD Analog"
SPA END
ANAL: NOP 0
// CONTACTOR
SET
UN "DB Motors Manage".Mot_DB.CFG_VFD
SPBN DIG
CALL "FC Mot Manage VFD/Dig"
SPA END
DIG: NOP 0
END: NOP 0
```
### Logic on the Motor FC
---
#### Parameters:
* Parameters:
* CFG_DB_Nr :
* ZoneRUN_DB_Nr :
* Motor_DB_Nr : DB of the motor ( 320 = Motor 50 )
* Manage.CFG_MPrew : DB motor before
* Manage.CFG_MNext : DB next motor
* CFG_Motor_N : number of motor
* CFG_Node_N : network node
* CFG_Add_Signal_PAW
* CFG_Add_Signal_SA : 310 => E31.0
* CFG_Add_Signal_SA : 311 => E31.1
* `CFG_Phylosopy_N` : 01-09 -- FC591 -- FC599
#### Segment 1: INIT Configuration
```pascal
CALL "FC Mot Init CFG"
ZoneCFG_DB_Nr :=300
ZoneRUN_DB_Nr :=370
Motor_DB_Nr :=320
Energy_Saving_DB_Nr :=374
L 333
T "DB TT Motor 50".Manage.CFG_MPrew
// L 0
// T "DB TT Motor 50".Manage.CFG_MNext
L 0
T "DB TT Motor 50".Manage.CFG_Phylosopy_N
L 50
T "DB TT Motor 50".Manage.CFG_Motor_N
L 50
T "DB TT Motor 50".Manage.CFG_Node_N
L 500
T "DB TT Motor 50".Manage.CFG_Kspeed_User50Hz
L 600
T "DB TT Motor 50".Manage.CFG_Add_Signal_PAW
L 310
T "DB TT Motor 50".Manage.CFG_Add_Signal_SA
L 311
T "DB TT Motor 50".Manage.CFG_Add_Signal_SB
```
![[Pasted image 20231011135354.png]]
#### Segment 2: HMI Enable Visibility
```pascal
//Phc
SET
S "DB TT Motor 50".Manage.CFG_VIS_SA
S "DB TT Motor 50".Manage.CFG_VIS_SB
//VFix
S "DB TT Motor 50".Manage.CFG_VIS_Fix_01
S "DB TT Motor 50".Manage.CFG_VIS_Fix_02
S "DB TT Motor 50".Manage.CFG_VIS_Fix_03
S "DB TT Motor 50".Manage.CFG_VIS_Fix_04
S "DB TT Motor 50".Manage.CFG_VIS_Fix_05
//Sync
R "DB TT Motor 50".Manage.CFG_VIS_Sync_01
R "DB TT Motor 50".Manage.CFG_VIS_Sync_02
R "DB TT Motor 50".Manage.CFG_VIS_Sync_03
R "DB TT Motor 50".Manage.CFG_VIS_Sync_04
R "DB TT Motor 50".Manage.CFG_VIS_Sync_05
//Timer
S "DB TT Motor 50".Manage.CFG_VIS_Timer_01
S "DB TT Motor 50".Manage.CFG_VIS_Timer_02
R "DB TT Motor 50".Manage.CFG_VIS_Timer_03
R "DB TT Motor 50".Manage.CFG_VIS_Timer_04
S "DB TT Motor 50".Manage.CFG_VIS_Timer_05
S "DB TT Motor 50".Manage.CFG_VIS_Timer_06
```
#### Segment 3: Enable `"DB TT Motor XX".Manage.REQ_EN_Run`
![[Pasted image 20231011140529.png]]
#### Segment 4: Run `"DB TT Motor XX".Manage.REQ_Start_FWD`
![[Pasted image 20231011140558.png]]
#### Then there are the conditions for Fix and Sync speeds
![[Pasted image 20231011140738.png|475]]
![[Pasted image 20231011140814.png|525]]
The Sync has priority over the Fix
#### Timers
![[Pasted image 20231011140952.png|500]]
![[Pasted image 20231011145007.png]]
Asigned to the `"DB TT Motor 55".Manage.REQ_T01.S` then when the timer trigger the output can be read on `"DB TT Motor 55".Manage.REQ_T01.Q`
#### Alarms
![[Pasted image 20231011140940.png]]
#### Mot Manage call
```pascal
CALL "FC Mot Manage"
Motor_DB_Nr :=320
```
#### Motor Logics for 2 photocells :
```pascal
CALL "FC TTOP AUTEFA 2 PH"
ReferenceSpeed :=0
Next_Motor_Run :="DB TT Motor 59".Manage.STATUS_VFD_Run_FWD
Next_Sensor :="DB TT Motor 59".Manage.IN_Signal_SA
Next_NextSensor :="DB TT Motor 59".Manage.IN_Signal_SB
Prev_Sensor :="DB TT Motor 57".Manage.IN_Signal_SB
Motor_DB :=320
```
#### Digital inputs SA,SB,SC,SD:
![[Pasted image 20231011164951.png]]
The FC20 reads the input pointer as an integer xxx and converts to a real Exx.x and put the input on the `Mot_DB.IN_Signal_SX`