1 #!/usr/bin/env python |
1 #!/usr/bin/env python |
2 # -*- coding: utf-8 -*- |
2 # -*- coding: utf-8 -*- |
3 |
3 |
4 #This file is part of PLCOpenEditor, a library implementing an IEC 61131-3 editor |
4 # This file is part of Beremiz, a Integrated Development Environment for |
5 #based on the plcopen standard. |
5 # programming IEC 61131-3 automates supporting plcopen standard and CanFestival. |
6 # |
6 # |
7 #Copyright (C) 2007: Edouard TISSERANT and Laurent BESSARD |
7 # Copyright (C) 2007: Edouard TISSERANT and Laurent BESSARD |
8 # |
8 # |
9 #See COPYING file for copyrights details. |
9 # See COPYING file for copyrights details. |
10 # |
10 # |
11 #This library is free software; you can redistribute it and/or |
11 # This program is free software; you can redistribute it and/or |
12 #modify it under the terms of the GNU General Public |
12 # modify it under the terms of the GNU General Public License |
13 #License as published by the Free Software Foundation; either |
13 # as published by the Free Software Foundation; either version 2 |
14 #version 2.1 of the License, or (at your option) any later version. |
14 # of the License, or (at your option) any later version. |
15 # |
15 # |
16 #This library is distributed in the hope that it will be useful, |
16 # This program is distributed in the hope that it will be useful, |
17 #but WITHOUT ANY WARRANTY; without even the implied warranty of |
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
18 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
19 #General Public License for more details. |
19 # GNU General Public License for more details. |
20 # |
20 # |
21 #You should have received a copy of the GNU General Public |
21 # You should have received a copy of the GNU General Public License |
22 #License along with this library; if not, write to the Free Software |
22 # along with this program; if not, write to the Free Software |
23 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
23 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
24 |
24 |
25 import wx |
25 import wx |
26 |
26 |
27 from graphics.GraphicCommons import * |
27 from graphics.GraphicCommons import * |
28 from plcopen.structures import * |
28 from plcopen.structures import * |
900 if self.Type == CONNECTOR: |
900 if self.Type == CONNECTOR: |
901 connectors["inputs"].append(self.Connector) |
901 connectors["inputs"].append(self.Connector) |
902 else: |
902 else: |
903 connectors["outputs"].append(self.Connector) |
903 connectors["outputs"].append(self.Connector) |
904 return connectors |
904 return connectors |
905 |
905 |
|
906 def SpreadCurrent(self): |
|
907 if self.Type == CONNECTOR: |
|
908 continuations = self.Parent.GetContinuationByName(self.Name) |
|
909 if continuations is not None: |
|
910 value = self.Connector.ReceivingCurrent() |
|
911 for cont in continuations: |
|
912 cont.Connector.SpreadCurrent(value) |
|
913 |
906 # Changes the variable type |
914 # Changes the variable type |
907 def SetType(self, type): |
915 def SetType(self, type): |
908 if type != self.Type: |
916 if type != self.Type: |
909 self.Type = type |
917 self.Type = type |
910 self.Clean() |
918 self.Clean() |