Sei sulla pagina 1di 1

from dataplicity.client.

task import Task, onsignal

from omronTcpFins import OmronPLC

class Plc2www(Task):
def pre_startup(self):
[extend] self.sampler = self.conf.get('samplername')
conf = /etc/dataplicity/dataplicity.conf self.livecfg = self.conf.get('valgetconfig')
[firmware]
[device] version = 2 @onsignal('settings_update', 'valueget')
class = examples.OmronPLC1 exclude = *.pyc def on_settings_update(self, name, settings):
__*__ self.plcip = settings.get(self.livecfg, 'gplcip')
[register] .* self.plcport = settings.get_integer(self.livecfg, 'gplcport', 9600)
ui = ./ui.xml .hg [valgetsetup1] self.memadr = settings.get(self.livecfg, 'gmemaddr', "A3")
.git gplcip = 192.168.100.253 self.log.debug("SettingValue updated: valueget {}".format(self.memadr))
[py] gplcport = 9600
path = ./py gmemaddr = D512 def poll(self):
plc = OmronPLC( )
[samplers] plc.openFins( self.plcip, self.plcport)
path = /tmp/samplers/ value = plc.readFloat( self.memadr)
plc.close()
#---------------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?>
# Tasks <ui> [valsetsetup1]
self.log.debug( "SAMPLE: {}".format( value))
#---------------------------------------------------------------------- <interface id="dataplicity"> splcip = 192.168.100.253
self.do_sample(value)
[task:getplcval1] <mastertabcontainer title="${device.name}" id="top-tabs"> splcport = 9600
run = plc2www.Plc2www <tab title="Omron PLC data"> smemaddr = D512
def do_sample(self, value):
poll = 30 <graph title="Memory Value" savevalue = 0.0
self.client.sample_now(self.sampler, value)
data-valgetconfig = valgetsetup1 sampler="value1"
data-samplername = value1 min="0"
max="100"
[task:setval1] xunit="Time" yunit="Value"/>
run = www2plc.Www2plc <form button="Update" title="Set Value">
poll = 15 <textedit title="Value to PLC"
data-valsetconfig = valsetsetup1 source = "device.settings.valueset.valsetsetup1.savevalue"
destination = "device.settings.valueset.valsetsetup1.savevalue" from dataplicity.client.task import Task, onsignal
#---------------------------------------------------------------------- type="float" />
# Create samplers </form> from omronTcpFins import OmronPLC
#---------------------------------------------------------------------- </tab>
[sampler:value1] class Www2plc(Task):
<tab title="Setup GET"> def pre_startup(self):
#---------------------------------------------------------------------- <form button="Update" title="PLC get parameters"> self.livecfg = self.conf.get('valsetconfig')
# Live settings <textedit title="PLC IP"
#---------------------------------------------------------------------- source = "device.settings.valueget.valgetsetup1.gplcip" @onsignal('settings_update', 'valueset')
[settings:valueget] destination = "device.settings.valueget.valgetsetup1.gplcip" def on_settings_update(self, name, settings):
defaults = ./valget.ini type = "string" /> self.plcip = settings.get(self.livecfg, 'splcip')
<textedit title="Memory addr" self.plcport = settings.get_integer(self.livecfg, 'splcport', 9600)
[settings:valueset] source = "device.settings.valueget.valgetsetup1.gmemaddr" self.memadr = settings.get(self.livecfg, 'smemaddr', "A0")
defaults = ./valset.ini destination = "device.settings.valueget.valgetsetup1.gmemaddr" self.savevalue = settings.get_float(self.livecfg, 'savevalue', 0.0)
type = "string" /> self.log.debug(" SettingValue updated: valueset {}:{}".format(self.memadr, self.savevalue))
</form>
</tab> plc = OmronPLC( )
plc.openFins( self.plcip, self.plcport)
<tab title="Setup SET"> plc.writeFloat( self.memadr, self.savevalue)
<form button="Update" title="Plc set parameters"> plc.close()
<textedit title="PLC IP"
source = "device.settings.valueset.valsetsetup1.splcip" def poll(self):
destination = "device.settings.valueset.valsetsetup1.splcip" pass
type = "string" />
<textedit title="Memory addr"
source = "device.settings.valueset.valsetsetup1.smemaddr"
destination = "device.settings.valueset.valsetsetup1.smemaddr"
type = "string" />
<textedit title="Value to PLC"
source = "device.settings.valueset.valsetsetup1.savevalue"
destination = "device.settings.valueset.valsetsetup1.savevalue"
type="float" />
</form>
</tab>
</mastertabcontainer>
</interface>
</ui>

Potrebbero piacerti anche