tests/wamp/plc.xml
author |
Andrey Skvortsov <andrej.skvortzov@gmail.com> |
|
Mon, 13 Aug 2018 18:29:07 +0300 |
changeset 2284 |
64bb520009f3 |
parent 1448 |
20ff66dcc31d
|
child 2290 |
52afa2dec4fb |
permissions |
-rw-r--r-- |
Fix wxHMI example after upgrading wxGlade
Newer wxGlade generates code to initialize GridSizer's with empty
elements.
...
grid_sizer_1.Add(self.window_1, 1, wx.ALIGN_CENTER, 0)
sizer_2.Add((0, 0), 0, 0, 0)
sizer_2.Add((0, 0), 0, 0, 0)
sizer_2.Add((0, 0), 0, 0, 0)
sizer_2.Add((0, 0), 0, 0, 0)
...
That causes following traceback, if new buttons are added
to already full sizer.
PLCobject : Traceback (most recent call last):
File "./Beremiz_service.py", line 389, in default_evaluator
res = (tocall(*args, **kwargs), None)
File "/tmp/tmpQS8ct2/runtime_0.py", line 540, in _runtime_0_start
wx.MessageBox(_("Please stop PLC to close"))
File "/tmp/tmpQS8ct2/runtime_0.py", line 504, in Init
lambda axis:( MakeButtonFunc(self, sizer, axis+"axisMinus"),
File "/tmp/tmpQS8ct2/runtime_0.py", line 502, in <lambda>
lambda btname: MakeButtonFunc(self, sizer, btname), ActionButtons)
File "/tmp/tmpQS8ct2/runtime_0.py", line 461, in MakeButtonFunc
print sizer, btname
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk3/wx/_core.py", line 14453, in Add
return _core_.Sizer_Add(*args, **kwargs)
PyAssertionError: C++ assertion "Assert failure" failed at
../src/common/sizer.cpp(1401) in DoInsert(): too many items (11 > 2*5)
in grid sizer (maybe you should omit the number of either rows or
columns?)
Tested with wxGlade version 0.8.3
Closes #41
<?xml version='1.0' encoding='utf-8'?>
<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
<fileHeader companyName="Beremiz" productName="Beremiz" productVersion="1" creationDateTime="2015-02-05T11:44:55" contentDescription=" "/>
<contentHeader name="WAMPTest" modificationDateTime="2015-02-18T23:59:50">
<coordinateInfo>
<fbd>
<scaling x="0" y="0"/>
</fbd>
<ld>
<scaling x="0" y="0"/>
</ld>
<sfc>
<scaling x="0" y="0"/>
</sfc>
</coordinateInfo>
</contentHeader>
<types>
<dataTypes/>
<pous>
<pou name="program0" pouType="program">
<interface>
<localVars>
<variable name="LocalVar0">
<type>
<DINT/>
</type>
</variable>
</localVars>
<externalVars>
<variable name="PyVar0">
<type>
<DINT/>
</type>
</variable>
<variable name="PyVar1">
<type>
<DINT/>
</type>
</variable>
</externalVars>
</interface>
<body>
<FBD>
<inVariable localId="1" executionOrderId="0" height="25" width="55" negated="false">
<position x="144" y="70"/>
<connectionPointOut>
<relPosition x="55" y="12"/>
</connectionPointOut>
<expression>PyVar0</expression>
</inVariable>
<block localId="3" typeName="ADD" executionOrderId="0" height="60" width="65">
<position x="245" y="52"/>
<inputVariables>
<variable formalParameter="IN1">
<connectionPointIn>
<relPosition x="0" y="30"/>
<connection refLocalId="1">
<position x="245" y="82"/>
<position x="199" y="82"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN2">
<connectionPointIn>
<relPosition x="0" y="50"/>
<connection refLocalId="4">
<position x="245" y="102"/>
<position x="228" y="102"/>
<position x="228" y="113"/>
<position x="198" y="113"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="65" y="30"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="4" executionOrderId="0" height="25" width="73" negated="false">
<position x="125" y="101"/>
<connectionPointOut>
<relPosition x="73" y="12"/>
</connectionPointOut>
<expression>LocalVar0</expression>
</inVariable>
<outVariable localId="2" executionOrderId="0" height="25" width="55" negated="false">
<position x="344" y="70"/>
<connectionPointIn>
<relPosition x="0" y="12"/>
<connection refLocalId="3" formalParameter="OUT">
<position x="344" y="82"/>
<position x="310" y="82"/>
</connection>
</connectionPointIn>
<expression>PyVar1</expression>
</outVariable>
</FBD>
</body>
</pou>
</pous>
</types>
<instances>
<configurations>
<configuration name="config">
<resource name="resource1">
<task name="Task0" priority="0" interval="T#100ms">
<pouInstance name="Instance0" typeName="program0"/>
</task>
</resource>
</configuration>
</configurations>
</instances>
</project>