features.py
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Thu, 09 Aug 2018 13:58:47 +0300
changeset 2275 1bb8afa02409
parent 2165 02a2b5dee5e3
child 2244 42566291b9bc
permissions -rw-r--r--
Improve fix wrong code generation if EN/ENO are used in FBD/LD/SFC

Commit c9915bc6 "Fix wrong code generation if EN/ENO are used in
FBD/LD/SFC" caused following backtrace in some cases:

File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 476, in GenerateProgram
self.GeneratePouProgram(pou_name)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 258, in GeneratePouProgram
program = pou_program.GenerateProgram(pou)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1713, in GenerateProgram
self.ComputeProgram(pou)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 997, in ComputeProgram
eno_var = self.GetUsedEno(body, connections)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 929, in GetUsedEno
for invar in blk.inputVariables.getvariable():
File "/home/developer/WorkData/PLC/beremiz/beremiz/xmlclass/xmlclass.py", line 1363, in getattrMethod
return DefaultElementClass.__getattribute__(self, name)
<type 'exceptions.AttributeError'>: 'inOutVariable' object has no attribute 'inputVariables'
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# This file is part of Beremiz
#
# Copyright (C) 2007: Laurent BESSARD
# Copyright (C) 2007-2018: Edouard TISSERANT
#
# See COPYING file for copyrights details.

libraries = [
    ('Native', 'NativeLib.NativeLibrary'),
    ('Python', 'py_ext.PythonLibrary'),
    ('Etherlab', 'etherlab.EthercatMaster.EtherlabLibrary'),
    ('SVGUI', 'svgui.SVGUILibrary')]

catalog = [
    ('canfestival', _('CANopen support'), _('Map located variables over CANopen'), 'canfestival.canfestival.RootClass'),
    ('bacnet', _('Bacnet support'), _('Map located variables over Bacnet'), 'bacnet.bacnet.RootClass'),
    ('etherlab', _('EtherCAT master'), _('Map located variables over EtherCAT'), 'etherlab.etherlab.RootClass'),
    ('modbus', _('Modbus support'), _('Map located variables over Modbus'), 'modbus.modbus.RootClass'),
    ('c_ext', _('C extension'), _('Add C code accessing located variables synchronously'), 'c_ext.CFile'),
    ('py_ext', _('Python file'), _('Add Python code executed asynchronously'), 'py_ext.PythonFile'),
    ('wxglade_hmi', _('WxGlade GUI'), _('Add a simple WxGlade based GUI.'), 'wxglade_hmi.WxGladeHMI'),
    ('svgui', _('SVGUI'), _('Experimental web based HMI'), 'svgui.SVGUI')]

file_editors = []