Pally I/O

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. - see below for the complete list) and the 1st element is the actual IO channel number.

Example values:

[0, 5] means standard digital signal nr. 5

[1, 6] means configurable digital signal nr. 6

[10, 5] means standard digital signal nr. 5 with inverted logic

Complete list of supported IO types

The first value (element 0 in the array) determines the type of IO to be used. Currently the following types are supported:

  • 0: standard digital input / output

  • 1: configurable digital input / output

  • 2: tool digital input / output

  • 3: boolean register input / output

  • 4: modbus signal (the signal name must be in the format MODBUS_N where N is a number)

  • 5: integer register input / output

  • 6: float register input / output

  • 10: standard digital input / output with inverse logic

  • 11: configurable digital input / output with inverse logic

  • 12: tool digital input / output with inverse logic

  • 13: boolean register input / output with inverse logic

  • 14: modbus signal with inverse logic

  • -1: Always LOW input / no output

  • -11: Always HIGH input / no output

 

 

Remember: To change the IO type, update the 0th element of the array, i.e. always put [0] behind the variable name, e.g.:

rf_in_1_product1[0] = -1

 

Remember: To change the IO channel, update the 1st element of the array, i.e. always put [1] behind the variable name, e.g.:

rf_in_1_product1[1] = 2

The names of all available IO variables are listed here.