A safety system (1, 2, 3) comprising: a memory; a processor connected to the memory and configured to execute a safety program; a first communication unit (130, 140, 150, 160), connected to the memory via an internal bus, configured to communicate data with one or more first safety components via a first transmission line (138, 148, 158, 168); and a second communication unit (130, 140, 150, 160), connected to the memory via the internal bus, configured to communicate data with one or more second safety components via a second transmission line (138, 148, 158, 168), wherein the second communication unit and the first communication unit (130, 140, 150, 160) are configured to independently of each other perform communication processing via the respective transmission lines (138, 148, 158, 168) in accordance with respective transmission protocols, the memory includes a first data area, dedicated to the first communication unit (130, 140, 150, 160), that holds data communicated by the first communication unit (130, 140, 150, 160), a second data area, dedicated to the second communication unit (130, 140, 150, 160), that holds data communicated by the second communication unit (130, 140, 150, 160) which is arranged independently of the first data area, and the safety system being characterized in that: the memory further includes a work memory area corresponding to a memory area to which the safety program executed by the processor refers and wherein the work memory area includes an IO variable area including a plurality of memory areas respectively associated with the first data area and the second data area allocated to their respectively associated communication units; wherein the respectively associated memory areas are configured to be synchronized with its corresponding data area; the safety system further comprises means for providing a user interface screen configured to receive allocation from a user to set which data area each communication unit is to be allocated. a memory; a processor connected to the memory and configured to execute a safety program; a first communication unit (130, 140, 150, 160), connected to the memory via an internal bus, configured to communicate data with one or more first safety components via a first transmission line (138, 148, 158, 168); and a second communication unit (130, 140, 150, 160), connected to the memory via the internal bus, configured to communicate data with one or more second safety components via a second transmission line (138, 148, 158, 168), wherein the second communication unit and the first communication unit (130, 140, 150, 160) are configured to independently of each other perform communication processing via the respective transmission lines (138, 148, 158, 168) in accordance with respective transmission protocols, the memory includes a first data area, dedicated to the first communication unit (130, 140, 150, 160), that holds data communicated by the first communication unit (130, 140, 150, 160), a second data area, dedicated to the second communication unit (130, 140, 150, 160), that holds data communicated by the second communication unit (130, 140, 150, 160) which is arranged independently of the first data area, and a first data area, dedicated to the first communication unit (130, 140, 150, 160), that holds data communicated by the first communication unit (130, 140, 150, 160), a second data area, dedicated to the second communication unit (130, 140, 150, 160), that holds data communicated by the second communication unit (130, 140, 150, 160) which is arranged independently of the first data area, and the safety system being characterized in that: the memory further includes a work memory area corresponding to a memory area to which the safety program executed by the processor refers and wherein the work memory area includes an IO variable area including a plurality of memory areas respectively associated with the first data area and the second data area allocated to their respectively associated communication units; wherein the respectively associated memory areas are configured to be synchronized with its corresponding data area; the memory further includes a work memory area corresponding to a memory area to which the safety program executed by the processor refers and wherein the work memory area includes an IO variable area including a plurality of memory areas respectively associated with the first data area and the second data area allocated to their respectively associated communication units; wherein the respectively associated memory areas are configured to be synchronized with its corresponding data area; the safety system further comprises means for providing a user interface screen configured to receive allocation from a user to set which data area each communication unit is to be allocated.