====================== BeckhoffSim TCPfeiffer ====================== D. Goeries Introduction ============ PfeifferTC (tcpfeiffer.py) is a simulation device for the BeckhoffSim project. It should be able to mock all the necessary functions and parameters which are needed for a beamline simulation including a chosen list of serial connection attributes. The corresponding Beckhoff Device ID is 0x13 General Remarks =============== The python file contains two classes, namely the PfeifferTCFull class which inherits the BeckhoffSim Basedevice class and the PumpModule class which is treated as a child to provide threading functionalities, like ramping up the rotation speed of the pump. Slot Interface ------------------------- The Manager class provides the following public methods: .. function:: COn() Enables the pumping station, setting the state bit. .. function:: COff() Disables the pumping station, removes the enable state bit. .. function:: CPump() Start the pumping procedure by calling a thread in the PumpModule class. The AActualRotSpeed and AActualRotSpeedrpm is ramped up by AAcceleration (default=150/s) to ASetRotSpeed (1500). Sets the PumpingStationBit and removes the StandbyBit from the state information if set. Also cancels the standby function of the pump and sets the APumpingStation value to True. .. function:: CStop() Stops the active pumping thread and set the APumpingStation attribute to False. This function also removes the PumpingStationBit from the state and a shutdown thread is started to slowly ramp down the AActualRotSpeed to zero. .. function:: CStandby() Can be called from a device which is already in a pumping state. The pump modus of the device is cancelled and a standby thread is started. The AActualRotSpeed is moved to 66 % of the ASetRotSpeed and kept there. The StandbyBit is added to the state information and the attribute AStandby is set to True. .. function:: CStopStandby() Stop the standby thread and automatically start the shutdown thread to ramp down the AActualRotSpeed. Removes the StandbyBit from the state information and sets the AStandby attribute to False. .. function:: CHeat() This function sets the HeatingBit of the device and changes the AHeating attribute to True. .. function:: CStopHeat() The HeatingBit is removed from the state information and the AHeating attribute is set to False. Attributes (Selected) --------------------- This section briefly introduces the most important (selected) attributes of the PLC. AActualRotSpeed Current rotation speed of the pump device in Hertz ADriveCurrent Current used to drive the motor of the pump device. ADriveVoltage Voltage used to drive the motor of the pump device. ATemperatureElectronics Display the actual temperature of the electronics. ATemperatureBearing Display the temperature of the bearing. ATemperatureMotor Display the temperature of the motor. AActualRotSpeedrpm Display the current rotation speed in rpm. AAcceleration This attribute is utilized to set the ramping of the pump device. Original dimension is [rpm/s]. Current default value is set to 150. ASetRotSpeed Set the target of the rotation speed in rpm. ARotationSpeedStandby Sets the target rotation speed in standby modus, the default value is 66 per cent.