User Tools

Site Tools


device_editor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
device_editor [2017/12/14 13:35]
admin [Import Device Driver]
device_editor [2018/08/31 06:48] (current)
admin [Command Types]
Line 9: Line 9:
 The Device Editor is split into two main sections. The upper part concerns all Device properties, the lower part contains all commands of a device. The image shows the Device Editor for editing devices that are part of the project, not the Device Templates. The Device Editor is split into two main sections. The upper part concerns all Device properties, the lower part contains all commands of a device. The image shows the Device Editor for editing devices that are part of the project, not the Device Templates.
  
 +===== Device Properties =====
  
 +In the upper part of the Device Editor the properties of a device are shown. The fields //Type, Manufacturer//​ and //​Category//​ are used to find devices in the database. //Device GUI// is not active at the moment and used for later extensions. //Add Category// is available only if the Device Editor was opened via //Configure → Edit Device Templates//​. In this case a popup window appears asking for a new category name.
  
 +==== Device Variables ====
  
 +Device Variables are used to store the status of a device. The driver is in charge to set the device variables to a value that represents the current status of the device. As example lets look at a projector. A procetor has some inputs, it can be switched on or off and most of them have a lamp timer. The driver collects information about the device and fill this information in the device variables.
 +
 +A projector could have the variables PowerState, SelectedInput and LampHours. The driver request now information from the projector that tells if the projector is on or off. This information is stored in the PowerState variable. The driver also asks the projector which is the current selected input, and stores this information in the SelectedInput variable etc.
 +
 +The number of device variables is not limited. It depends on what the designer of the device driver thought was useful to have.
 +
 +Each time a Device Variable changed, an event is fired. This event can be used by V-Control as a trigger to start tasks.
 +
 +By default, the event is fired only if the variable changes, and not if the variable is updated but does not change. What does this mean in detail? Lets do an example:
 +
 +Assume that the driver asks a projector every second if for the power state. If the projector is switched off, the drivcer wil set the PowerState variable to "​off"​. Now the projector switches on, and the next time the dreiver requests the power information "​on"​ is returned and the content of the PowerState variable changes from "​off"​ to "​on"​. An event is fired, and if we have programmed an event handler in V-Control, the content of the variable is checked. If the variable content matches the condition defined in the event handler, a task is fired.
 +
 +One second later the driver asks again for the power state. Because the projector is still on, a "​on"​ value is returned. By default, no event is fired in this case bacause the PowerState variable does not change. However, there might be some rare situations where you want to fire the event each time a new variable value is requested from the device, no matter if it has changed or not. In this case, check the //Fire Events on unchanged Variables// box.
 ===== Parameter ===== ===== Parameter =====
  
 Many commands sent to a device need parameter(s) to make sense. E.g. a CueUp command for a Player need a Timecode to tell the player where to go. An example for a parameter less command is the Play command. This instruction contains all the information that is needed for the driver, simply turn the device in play mode. As these examples show, it is necessary to refer parameters to a command. Many commands sent to a device need parameter(s) to make sense. E.g. a CueUp command for a Player need a Timecode to tell the player where to go. An example for a parameter less command is the Play command. This instruction contains all the information that is needed for the driver, simply turn the device in play mode. As these examples show, it is necessary to refer parameters to a command.
    
-In V-Control, up to six parameters for each command are available. We distinguish between device parameters (DP1 and DP2) and command parameters (P1 - P4). Both parameter types are equivalent and used in the same way. Device parameters concerning more the device itself. For example, some projectors can daisy chain the serial signal so that many projectors can use the same serial port. In this case all projectors in that chain get the same serial commands, so each projector need a unique address. This address is, from V-Control 's point of view, a parameter. Because this parameter concerns the device and not the command, we use it as device parameter. If an InputSelect command is sent to one of those projectors in the chain, two parameters are needed, one that addresses the device, and one that say the addressed device which input should be selected.+==== Device Parameter ==== 
 +In V-Control, up to six parameters for each command are available. We distinguish between device parameters (DP1 and DP2) and command parameters (P1 - P4). Both parameter types are equivalent and used in the same way. 
  
-Another ​example for a device parameter is the Modbus TCP protocol. Some devices require their own Unit ID, even if they are only accessible under a specific IP address. +Device parameters affect more the device itself and less the individual functions. They are visible for each command, and all commands share the same Device Parameters.  
- + 
 +One example for a device parameter is the Modbus TCP protocol. Some devices require their own Unit ID, even if they are only accessible under a specific IP address. ​The Unit ID adresses the device and needs to be involved in every command. So we can use a Device Parameter for that Unit ID. 
 + 
 +==== Command Properties ==== 
 {{:​parameter.png|}} {{:​parameter.png|}}
    
Line 66: Line 86:
 |~|Reserved for future use. If you use "​~"​ it will trigger an exception error. Use \~ instead.| |~|Reserved for future use. If you use "​~"​ it will trigger an exception error. Use \~ instead.|
    
-===== Command Types=====+==== Command Types====
  
 {{:​cmdtypes.png|}} {{:​cmdtypes.png|}}
Line 73: Line 93:
  
   - **Command**:​ This is a command that appears in the command list. These are the commands that the user uses to control the device.   - **Command**:​ This is a command that appears in the command list. These are the commands that the user uses to control the device.
-  - **Ack Command**: An Ack(nowledge) command is a command that is executed after a command or timer command ​was send. These commands are used to process the data returned from the device.+  - **Ack Command**: An Ack(nowledge) command is a command that is executed after a command or Monitor Command ​was send. These commands are used to process the data returned from the device.
   - **Monitor Command**: This is a command that is executed periodically. It is used to request the status of a device. An Ack Command is used to process the result and fill device variables with information.   - **Monitor Command**: This is a command that is executed periodically. It is used to request the status of a device. An Ack Command is used to process the result and fill device variables with information.
   - **Event**: To be exact, an event is not a command. An event occurs if a device send information to a driver without being requested before. This Data is handled here in a very similar way then in Ack Commands.   - **Event**: To be exact, an event is not a command. An event occurs if a device send information to a driver without being requested before. This Data is handled here in a very similar way then in Ack Commands.
device_editor.1513258505.txt.gz · Last modified: 2017/12/14 13:35 by admin