Skip to end of banner
Go to start of banner

Software controlled inputs

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This example shows how to replace any physical input signal with a software controlled signal.

Technical background

In the Pally program we use variables to define IO channels in a generic way. The address of every IO channel is defined by a special variable, which is an array. The 0th element of the array is always the IO type (standard IO, configurable IO, tool IO, MODBUS, etc.) with the following special constants:

-11: always returns True (no real physical IO channel being accessed)

-1: always returns False (no real physical IO channel being accessed)

If you want to provide mock signals for the Pally program from another thread, set the data source of the corresponding IO channel type to either -1 or -11 in runtime.

The name of the relevant IO channel variables:

  • rf_in_1_product1: first product sensor on the primary conveyor

  • rf_in_1_product2: second product sensor on the primary conveyor

  • rf_in_2_product1: first product sensor on the secondary conveyor

  • rf_in_2_product2: second product sensor on the secondary conveyor

  • rf_in_overflow1: priority sensor on the first conveyor

  • rf_in_overflow2: priority sensor on the second conveyor

  • rf_in_button_P1: right pallet confirmation signal

  • rf_in_button_P2: left pallet confirmation signal

Example: simulate the operator has pushed the Right pallet confirmation button:

rf_in_button_P1[0] = -11 # simulate user pushed the button

sleep(0.5)

rf_in_button_P1[0] = -1 # simulate user released the button

This will detach the program from the physical IO channel and evaluate as True and False.

  • No labels