One of the interesting gadgets/widgets, which can be placed on htm pages is a slider made available in frame of the jQuery UI. You can find a detailed explenation of how the slider works, how to create and parametrize it at http://docs.jquery.com/UI/Slider (if the link does not work - google: „jquery slider”).
I will concentrate only on how to use the slider to control a PLC. Here is the link to the package with examples.
Example1:
A Slider ‘slider1’ places at the end of being moved its value to the element 'value1'. A button 'sendbutton1, which - when clicked - sends the value stored in 'value1' to the PLC:
$("#slider1").slider({ stop: function(){ $('#value1').html($(this).slider( "option", "value" )); } }); $('#sendbutton1').MakeWriteButton({ write: 'MB11', dynamicvalue: 'value1' });
Example 2:
Similar to Example 1, but value of the slider is not shown. When the 'sendbutton2' is clicked the value red directly from the slider is sent to the PLC.
$("#slider2").slider(); $('#sendbutton2').MakeWriteButton({ write: 'MB11', dynamicvalue: 'slider2' });
Example 3:
It is a mixture of Examples 1 and 2. When the slider is stopped, its value is entered into another element. Clicking the sendbutton3 sends the data red directly from 'slider3' to the PLC.
$("#slider3").slider({ stop: function(){ $('#value1').html(‘Received Data: ‘+$(this).slider( "option", "value" )); } }); $('#sendbutton3').MakeWriteButton({ write: 'MB11', dynamicvalue: 'slider3' })
Example 4:
Whenever the slider stops, its value is sent to the PLC to the address MB11 without clicking any additional buttons:
$("#slider4").slider({ stop: function(){ $(this).WriteValue({ address: 'MB11', value: $(this).slider( "option", "value" ) }) } });
Example 5:
Similar to the example 4, but additionally the slider is deactivated during sending data tot the PLC. If the communication last over 5 sec. a covering layer with a 'loading' image is shown. The value of the slider is periodically red form the PLC and the slider is updated:
$("#slider5").slider({ stop: function(){ $(this).ShowButtonCover(); $(this).WriteValue({ address: 'MB11', value: $(this).slider( "option", "value" ) }) } }); $("#slider5").AddButtonCover(); $("#slider5").bind('OnWriteSuccess', function(){ $(this).HideButtonCover() }); $("#slider5").MakeReadField({ read: 'MB11', refreshtype: 'slider' });