--- a/plugins/canfestival/config_utils.py Wed Sep 12 17:16:27 2007 +0200
+++ b/plugins/canfestival/config_utils.py Thu Sep 13 09:01:57 2007 +0200
@@ -321,6 +321,10 @@
@param sync_TPDOs: indicate if TPDO must be synchronous
"""
+ #-------------------------------------------------------------------------------
+ # Verify that locations correspond to real slave variables
+ #-------------------------------------------------------------------------------
+
# Get list of locations check if exists and mappables -> put them in IECLocations
for location in locations:
COlocationtype = IECToCOType[location["IEC_TYPE"]]
@@ -353,7 +357,7 @@
if not node.IsEntry(index, subindex):
raise ValueError, "No such index/subindex (%x,%x) in ID : %d (variable %s)" % (index,subindex,nodeid,name)
- #Get the entry info
+ # Get the entry info
subentry_infos = node.GetSubentryInfos(index, subindex)
# If a PDO mappable
@@ -571,20 +575,59 @@
return dcfgenerator.GetMasterNode()
if __name__ == "__main__":
- import os, sys
-
+ import os, sys, getopt
+
+ def usage():
+ print """
+Usage of config_utils.py test :
+
+ %s [options]
+
+Options:
+ --help (-h)
+ Displays help informations for config_utils
+
+ --reset (-r)
+ Reset the reference result of config_utils test.
+ Use with caution. Be sure that config_utils
+ is currently working properly.
+"""%sys.argv[0]
+
+ # Boolean that indicate if reference result must be redefined
+ reset = False
+
+ # Extract command options
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "hr", ["help","reset"])
+ except getopt.GetoptError:
+ # print help information and exit:
+ usage()
+ sys.exit(2)
+
+ # Test each option
+ for o, a in opts:
+ if o in ("-h", "--help"):
+ usage()
+ sys.exit()
+ elif o in ("-r", "--reset"):
+ reset = True
+
+ # Extract workspace base folder
base_folder = sys.path[0]
for i in xrange(3):
base_folder = os.path.split(base_folder)[0]
+ # Add CanFestival folder to search pathes
sys.path.append(os.path.join(base_folder, "CanFestival-3", "objdictgen"))
from nodemanager import *
from nodelist import *
+ # Open the test nodelist contained into test_config folder
manager = NodeManager()
nodelist = NodeList(manager)
result = nodelist.LoadProject("test_config")
+ # List of locations, we try to map for test
locations = [{"IEC_TYPE":"BYTE","NAME":"__IB0_1_64_24576_1","DIR":"I","SIZE":"B","LOC":(0,1,64,24576,1)},
{"IEC_TYPE":"INT","NAME":"__IW0_1_64_25601_2","DIR":"I","SIZE":"W","LOC":(0,1,64,25601,2)},
{"IEC_TYPE":"INT","NAME":"__IW0_1_64_25601_3","DIR":"I","SIZE":"W","LOC":(0,1,64,25601,3)},
@@ -595,31 +638,45 @@
{"IEC_TYPE":"UDINT","NAME":"__ID0_1_64_25638_3","DIR":"I","SIZE":"D","LOC":(0,1,64,25638,3)},
{"IEC_TYPE":"UDINT","NAME":"__ID0_1_64_25638_4","DIR":"I","SIZE":"D","LOC":(0,1,64,25638,4)}]
- masternode = GenerateConciseDCF(locations, (0, 1), nodelist, True)
- #masternode.Print()
- result = [line.rstrip() for line in masternode.PrintString().splitlines()]
-
- file = open("test_config/result.txt", "r")
- model = [line.rstrip() for line in file.readlines()]
- file.close()
-
- errors = 0
- for i, line in enumerate(model):
- if i >= len(result):
+ # Generate MasterNode configuration
+ try:
+ masternode = GenerateConciseDCF(locations, (0, 1), nodelist, True)
+ except ValueError, message:
+ print "%s\nTest Failed!"%message
+ sys.exit()
+
+ # Get Text corresponding to MasterNode
+ result = masternode.PrintString()
+
+ # If reset has been choosen
+ if reset:
+ # Write Text into reference result file
+ file = open("test_config/result.txt", "w")
+ file.write(result)
+ file.close()
+
+ print "Reset Successful!"
+ else:
+ # Test each line of the result with the reference result
+ test = [line.rstrip() for line in result.splitlines()]
+
+ file = open("test_config/result.txt", "r")
+ model = [line.rstrip() for line in file.readlines() if line.rstrip()]
+ file.close()
+
+ errors = 0
+ for i, line in enumerate(model):
+ if i >= len(test):
+ errors += 1
+ print "Line %d disappear :\n%s\n"%(i + 1, line)
+ elif line != test[i]:
+ errors += 1
+ print "Error on line %d :\n%s\nInstead of :\n%s\n"%(i + 1, test[i], line)
+ for i in xrange(len(model), len(test)):
errors += 1
- print "Line %d disappear :"%(i + 1)
- print line
- elif line != result[i]:
- errors += 1
- print "Error on line %d :"%(i + 1)
- print "\t%s"%result[i]
- print "Instead of :\n\t%s"%line
- for i in xrange(len(model), len(result)):
- errors += 1
- print "Line %d appear :"%(i + 1)
- print result[i]
-
- if errors > 0:
- print "Test Failed!"
- else:
- print "Test Successful!"
\ No newline at end of file
+ print "Line %d appear :\n%s\n"%(i + 1, test[i])
+
+ if errors > 0:
+ print "%d errors found.\nTest Failed!"%errors
+ else:
+ print "Test Successful!"
--- a/plugins/canfestival/test_config/result.txt Wed Sep 12 17:16:27 2007 +0200
+++ b/plugins/canfestival/test_config/result.txt Thu Sep 13 09:01:57 2007 +0200
@@ -1,253 +1,253 @@
-1000 (Device Type): 302
+1000 (Device Type): 12E
1001 (Error Register): 0
-1005 (SYNC COB ID): 1073741952
-1006 (Communication / Cycle Period): 50000
+1005 (SYNC COB ID): 40000080
+1006 (Communication / Cycle Period): C350
1016 (Consumer Heartbeat Time):
- 001 (Consumer Heartbeat Time): 4005DC
+1016 01 (Consumer Heartbeat Time): 4005DC
1018 (Identity):
- 001 (Vendor ID): 0
- 002 (Product Code): 0
- 003 (Revision Number): 0
- 004 (Serial Number): 0
+1018 01 (Vendor ID): 0
+1018 02 (Product Code): 0
+1018 03 (Revision Number): 0
+1018 04 (Serial Number): 0
1280 (Client SDO 1 Parameter):
- 001 (COB ID Client to Server (Transmit SDO)): 640
- 002 (COB ID Server to Client (Receive SDO)): 5C0
- 003 (Node ID of the SDO Server): 40
+1280 01 (COB ID Client to Server (Transmit SDO)): 640
+1280 02 (COB ID Server to Client (Receive SDO)): 5C0
+1280 03 (Node ID of the SDO Server): 40
1400 (Receive PDO 1 Parameter):
- 001 (COB ID used by PDO): 1C0
- 002 (Transmission Type): 1
- 003 (Inhibit Time): 0
- 004 (Compatibility Entry): 0
- 005 (Event Timer): 0
+1400 01 (COB ID used by PDO): 1C0
+1400 02 (Transmission Type): 1
+1400 03 (Inhibit Time): 0
+1400 04 (Compatibility Entry): 0
+1400 05 (Event Timer): 0
1401 (Receive PDO 2 Parameter):
- 001 (COB ID used by PDO): 2C0
- 002 (Transmission Type): 1
- 003 (Inhibit Time): 0
- 004 (Compatibility Entry): 0
- 005 (Event Timer): 0
+1401 01 (COB ID used by PDO): 2C0
+1401 02 (Transmission Type): 1
+1401 03 (Inhibit Time): 0
+1401 04 (Compatibility Entry): 0
+1401 05 (Event Timer): 0
1402 (Receive PDO 3 Parameter):
- 001 (COB ID used by PDO): 182
- 002 (Transmission Type): 1
- 003 (Inhibit Time): 0
- 004 (Compatibility Entry): 0
- 005 (Event Timer): 0
+1402 01 (COB ID used by PDO): 182
+1402 02 (Transmission Type): 1
+1402 03 (Inhibit Time): 0
+1402 04 (Compatibility Entry): 0
+1402 05 (Event Timer): 0
1403 (Receive PDO 4 Parameter):
- 001 (COB ID used by PDO): 183
- 002 (Transmission Type): 1
- 003 (Inhibit Time): 0
- 004 (Compatibility Entry): 0
- 005 (Event Timer): 0
+1403 01 (COB ID used by PDO): 183
+1403 02 (Transmission Type): 1
+1403 03 (Inhibit Time): 0
+1403 04 (Compatibility Entry): 0
+1403 05 (Event Timer): 0
1404 (Receive PDO 5 Parameter):
- 001 (COB ID used by PDO): 180
- 002 (Transmission Type): 1
- 003 (Inhibit Time): 0
- 004 (Compatibility Entry): 0
- 005 (Event Timer): 0
+1404 01 (COB ID used by PDO): 180
+1404 02 (Transmission Type): 1
+1404 03 (Inhibit Time): 0
+1404 04 (Compatibility Entry): 0
+1404 05 (Event Timer): 0
1600 (Receive PDO 1 Mapping):
- 001 (PDO 1 Mapping for an application object 1): 22400108
+1600 01 (PDO 1 Mapping for an application object 1): 22400108
1601 (Receive PDO 2 Mapping):
- 001 (PDO 2 Mapping for an application object 1): 20010310
- 002 (PDO 2 Mapping for an application object 2): 23400110
- 003 (PDO 2 Mapping for an application object 3): 23400210
- 004 (PDO 2 Mapping for an application object 4): 20010310
+1601 01 (PDO 2 Mapping for an application object 1): 20010310
+1601 02 (PDO 2 Mapping for an application object 2): 23400110
+1601 03 (PDO 2 Mapping for an application object 3): 23400210
+1601 04 (PDO 2 Mapping for an application object 4): 20010310
1602 (Receive PDO 3 Mapping):
- 001 (PDO 3 Mapping for an application object 1): 24400120
- 002 (PDO 3 Mapping for an application object 2): 24400220
+1602 01 (PDO 3 Mapping for an application object 1): 24400120
+1602 02 (PDO 3 Mapping for an application object 2): 24400220
1603 (Receive PDO 4 Mapping):
- 001 (PDO 4 Mapping for an application object 1): 24400320
+1603 01 (PDO 4 Mapping for an application object 1): 24400320
1604 (Receive PDO 5 Mapping):
- 001 (PDO 5 Mapping for an application object 1): 22400208
- 002 (PDO 5 Mapping for an application object 2): 24400420
+1604 01 (PDO 5 Mapping for an application object 1): 22400208
+1604 02 (PDO 5 Mapping for an application object 2): 24400420
1800 (Transmit PDO 1 Parameter):
- 001 (COB ID used by PDO): {True:self.ID+(base+1)*0x100+0x80,False:0}[base<4]
- 002 (Transmission Type): 0
- 003 (Inhibit Time): 0
- 004 (Compatibility Entry): 0
- 005 (Event Timer): 0
+1800 01 (COB ID used by PDO): {True:self.ID+(base+1)*0x100+0x80,False:0}[base<4]
+1800 02 (Transmission Type): 0
+1800 03 (Inhibit Time): 0
+1800 04 (Compatibility Entry): 0
+1800 05 (Event Timer): 0
1801 (Transmit PDO 2 Parameter):
- 001 (COB ID used by PDO): 340
- 002 (Transmission Type): 1
- 003 (Inhibit Time): 0
- 004 (Compatibility Entry): 0
- 005 (Event Timer): 0
+1801 01 (COB ID used by PDO): 340
+1801 02 (Transmission Type): 1
+1801 03 (Inhibit Time): 0
+1801 04 (Compatibility Entry): 0
+1801 05 (Event Timer): 0
1A00 (Transmit PDO 1 Mapping):
- 001 (PDO 1 Mapping for a process data variable 1): 10010008
+1A00 01 (PDO 1 Mapping for a process data variable 1): 10010008
1A01 (Transmit PDO 2 Mapping):
- 001 (PDO 2 Mapping for a process data variable 1): 43400110
- 002 (PDO 2 Mapping for a process data variable 2): 20010310
- 003 (PDO 2 Mapping for a process data variable 3): 20010310
- 004 (PDO 2 Mapping for a process data variable 4): 20010310
+1A01 01 (PDO 2 Mapping for a process data variable 1): 43400110
+1A01 02 (PDO 2 Mapping for a process data variable 2): 20010310
+1A01 03 (PDO 2 Mapping for a process data variable 3): 20010310
+1A01 04 (PDO 2 Mapping for a process data variable 4): 20010310
1F22 (Concise DCF):
- 001 (Concise DCF for Node 1):
- 002 (Concise DCF for Node 2):
- 003 (Concise DCF for Node 3):
- 004 (Concise DCF for Node 4):
- 005 (Concise DCF for Node 5):
- 006 (Concise DCF for Node 6):
- 007 (Concise DCF for Node 7):
- 008 (Concise DCF for Node 8):
- 009 (Concise DCF for Node 9):
- 010 (Concise DCF for Node 10):
- 011 (Concise DCF for Node 11):
- 012 (Concise DCF for Node 12):
- 013 (Concise DCF for Node 13):
- 014 (Concise DCF for Node 14):
- 015 (Concise DCF for Node 15):
- 016 (Concise DCF for Node 16):
- 017 (Concise DCF for Node 17):
- 018 (Concise DCF for Node 18):
- 019 (Concise DCF for Node 19):
- 020 (Concise DCF for Node 20):
- 021 (Concise DCF for Node 21):
- 022 (Concise DCF for Node 22):
- 023 (Concise DCF for Node 23):
- 024 (Concise DCF for Node 24):
- 025 (Concise DCF for Node 25):
- 026 (Concise DCF for Node 26):
- 027 (Concise DCF for Node 27):
- 028 (Concise DCF for Node 28):
- 029 (Concise DCF for Node 29):
- 030 (Concise DCF for Node 30):
- 031 (Concise DCF for Node 31):
- 032 (Concise DCF for Node 32):
- 033 (Concise DCF for Node 33):
- 034 (Concise DCF for Node 34):
- 035 (Concise DCF for Node 35):
- 036 (Concise DCF for Node 36):
- 037 (Concise DCF for Node 37):
- 038 (Concise DCF for Node 38):
- 039 (Concise DCF for Node 39):
- 040 (Concise DCF for Node 40):
- 041 (Concise DCF for Node 41):
- 042 (Concise DCF for Node 42):
- 043 (Concise DCF for Node 43):
- 044 (Concise DCF for Node 44):
- 045 (Concise DCF for Node 45):
- 046 (Concise DCF for Node 46):
- 047 (Concise DCF for Node 47):
- 048 (Concise DCF for Node 48):
- 049 (Concise DCF for Node 49):
- 050 (Concise DCF for Node 50):
- 051 (Concise DCF for Node 51):
- 052 (Concise DCF for Node 52):
- 053 (Concise DCF for Node 53):
- 054 (Concise DCF for Node 54):
- 055 (Concise DCF for Node 55):
- 056 (Concise DCF for Node 56):
- 057 (Concise DCF for Node 57):
- 058 (Concise DCF for Node 58):
- 059 (Concise DCF for Node 59):
- 060 (Concise DCF for Node 60):
- 061 (Concise DCF for Node 61):
- 062 (Concise DCF for Node 62):
- 063 (Concise DCF for Node 63):
- 064 (Concise DCF for Node 64): 26
- 1800 01 00000004 800001C0
- 1800 02 00000001 01
- 1800 01 00000004 000001C0
- 1801 01 00000004 800002C0
- 1801 02 00000001 01
- 1801 01 00000004 000002C0
- 1801 01 00000004 800002C0
- 1801 02 00000001 01
- 1801 01 00000004 000002C0
- 1401 01 00000004 80000340
- 1401 02 00000001 01
- 1401 01 00000004 00000340
- 1804 01 00000004 80000180
- 1804 02 00000001 01
- 1804 01 00000004 00000180
- 1A04 01 00000004 60020108
- 1A04 02 00000004 64260120
- 1805 01 00000004 80000182
- 1805 02 00000001 01
- 1805 01 00000004 00000182
- 1A05 01 00000004 64260220
- 1A05 02 00000004 64260320
- 1806 01 00000004 80000183
- 1806 02 00000001 01
- 1806 01 00000004 00000183
- 1A06 01 00000004 64260420
- 065 (Concise DCF for Node 65):
- 066 (Concise DCF for Node 66):
- 067 (Concise DCF for Node 67):
- 068 (Concise DCF for Node 68):
- 069 (Concise DCF for Node 69):
- 070 (Concise DCF for Node 70):
- 071 (Concise DCF for Node 71):
- 072 (Concise DCF for Node 72):
- 073 (Concise DCF for Node 73):
- 074 (Concise DCF for Node 74):
- 075 (Concise DCF for Node 75):
- 076 (Concise DCF for Node 76):
- 077 (Concise DCF for Node 77):
- 078 (Concise DCF for Node 78):
- 079 (Concise DCF for Node 79):
- 080 (Concise DCF for Node 80):
- 081 (Concise DCF for Node 81):
- 082 (Concise DCF for Node 82):
- 083 (Concise DCF for Node 83):
- 084 (Concise DCF for Node 84):
- 085 (Concise DCF for Node 85):
- 086 (Concise DCF for Node 86):
- 087 (Concise DCF for Node 87):
- 088 (Concise DCF for Node 88):
- 089 (Concise DCF for Node 89):
- 090 (Concise DCF for Node 90):
- 091 (Concise DCF for Node 91):
- 092 (Concise DCF for Node 92):
- 093 (Concise DCF for Node 93):
- 094 (Concise DCF for Node 94):
- 095 (Concise DCF for Node 95):
- 096 (Concise DCF for Node 96):
- 097 (Concise DCF for Node 97):
- 098 (Concise DCF for Node 98):
- 099 (Concise DCF for Node 99):
- 100 (Concise DCF for Node 100):
- 101 (Concise DCF for Node 101):
- 102 (Concise DCF for Node 102):
- 103 (Concise DCF for Node 103):
- 104 (Concise DCF for Node 104):
- 105 (Concise DCF for Node 105):
- 106 (Concise DCF for Node 106):
- 107 (Concise DCF for Node 107):
- 108 (Concise DCF for Node 108):
- 109 (Concise DCF for Node 109):
- 110 (Concise DCF for Node 110):
- 111 (Concise DCF for Node 111):
- 112 (Concise DCF for Node 112):
- 113 (Concise DCF for Node 113):
- 114 (Concise DCF for Node 114):
- 115 (Concise DCF for Node 115):
- 116 (Concise DCF for Node 116):
- 117 (Concise DCF for Node 117):
- 118 (Concise DCF for Node 118):
- 119 (Concise DCF for Node 119):
- 120 (Concise DCF for Node 120):
- 121 (Concise DCF for Node 121):
- 122 (Concise DCF for Node 122):
- 123 (Concise DCF for Node 123):
- 124 (Concise DCF for Node 124):
- 125 (Concise DCF for Node 125):
- 126 (Concise DCF for Node 126):
- 127 (Concise DCF for Node 127):
+1F22 01 (Concise DCF for Node 1):
+1F22 02 (Concise DCF for Node 2):
+1F22 03 (Concise DCF for Node 3):
+1F22 04 (Concise DCF for Node 4):
+1F22 05 (Concise DCF for Node 5):
+1F22 06 (Concise DCF for Node 6):
+1F22 07 (Concise DCF for Node 7):
+1F22 08 (Concise DCF for Node 8):
+1F22 09 (Concise DCF for Node 9):
+1F22 0A (Concise DCF for Node 10):
+1F22 0B (Concise DCF for Node 11):
+1F22 0C (Concise DCF for Node 12):
+1F22 0D (Concise DCF for Node 13):
+1F22 0E (Concise DCF for Node 14):
+1F22 0F (Concise DCF for Node 15):
+1F22 10 (Concise DCF for Node 16):
+1F22 11 (Concise DCF for Node 17):
+1F22 12 (Concise DCF for Node 18):
+1F22 13 (Concise DCF for Node 19):
+1F22 14 (Concise DCF for Node 20):
+1F22 15 (Concise DCF for Node 21):
+1F22 16 (Concise DCF for Node 22):
+1F22 17 (Concise DCF for Node 23):
+1F22 18 (Concise DCF for Node 24):
+1F22 19 (Concise DCF for Node 25):
+1F22 1A (Concise DCF for Node 26):
+1F22 1B (Concise DCF for Node 27):
+1F22 1C (Concise DCF for Node 28):
+1F22 1D (Concise DCF for Node 29):
+1F22 1E (Concise DCF for Node 30):
+1F22 1F (Concise DCF for Node 31):
+1F22 20 (Concise DCF for Node 32):
+1F22 21 (Concise DCF for Node 33):
+1F22 22 (Concise DCF for Node 34):
+1F22 23 (Concise DCF for Node 35):
+1F22 24 (Concise DCF for Node 36):
+1F22 25 (Concise DCF for Node 37):
+1F22 26 (Concise DCF for Node 38):
+1F22 27 (Concise DCF for Node 39):
+1F22 28 (Concise DCF for Node 40):
+1F22 29 (Concise DCF for Node 41):
+1F22 2A (Concise DCF for Node 42):
+1F22 2B (Concise DCF for Node 43):
+1F22 2C (Concise DCF for Node 44):
+1F22 2D (Concise DCF for Node 45):
+1F22 2E (Concise DCF for Node 46):
+1F22 2F (Concise DCF for Node 47):
+1F22 30 (Concise DCF for Node 48):
+1F22 31 (Concise DCF for Node 49):
+1F22 32 (Concise DCF for Node 50):
+1F22 33 (Concise DCF for Node 51):
+1F22 34 (Concise DCF for Node 52):
+1F22 35 (Concise DCF for Node 53):
+1F22 36 (Concise DCF for Node 54):
+1F22 37 (Concise DCF for Node 55):
+1F22 38 (Concise DCF for Node 56):
+1F22 39 (Concise DCF for Node 57):
+1F22 3A (Concise DCF for Node 58):
+1F22 3B (Concise DCF for Node 59):
+1F22 3C (Concise DCF for Node 60):
+1F22 3D (Concise DCF for Node 61):
+1F22 3E (Concise DCF for Node 62):
+1F22 3F (Concise DCF for Node 63):
+1F22 40 (Concise DCF for Node 64): 26 arg defined
+1F22 40, arg 1: 1800 01 00000004 800001C0
+1F22 40, arg 2: 1800 02 00000001 01
+1F22 40, arg 3: 1800 01 00000004 000001C0
+1F22 40, arg 4: 1801 01 00000004 800002C0
+1F22 40, arg 5: 1801 02 00000001 01
+1F22 40, arg 6: 1801 01 00000004 000002C0
+1F22 40, arg 7: 1801 01 00000004 800002C0
+1F22 40, arg 8: 1801 02 00000001 01
+1F22 40, arg 9: 1801 01 00000004 000002C0
+1F22 40, arg 10: 1401 01 00000004 80000340
+1F22 40, arg 11: 1401 02 00000001 01
+1F22 40, arg 12: 1401 01 00000004 00000340
+1F22 40, arg 13: 1804 01 00000004 80000180
+1F22 40, arg 14: 1804 02 00000001 01
+1F22 40, arg 15: 1804 01 00000004 00000180
+1F22 40, arg 16: 1A04 01 00000004 60020108
+1F22 40, arg 17: 1A04 02 00000004 64260120
+1F22 40, arg 18: 1805 01 00000004 80000182
+1F22 40, arg 19: 1805 02 00000001 01
+1F22 40, arg 20: 1805 01 00000004 00000182
+1F22 40, arg 21: 1A05 01 00000004 64260220
+1F22 40, arg 22: 1A05 02 00000004 64260320
+1F22 40, arg 23: 1806 01 00000004 80000183
+1F22 40, arg 24: 1806 02 00000001 01
+1F22 40, arg 25: 1806 01 00000004 00000183
+1F22 40, arg 26: 1A06 01 00000004 64260420
+1F22 41 (Concise DCF for Node 65):
+1F22 42 (Concise DCF for Node 66):
+1F22 43 (Concise DCF for Node 67):
+1F22 44 (Concise DCF for Node 68):
+1F22 45 (Concise DCF for Node 69):
+1F22 46 (Concise DCF for Node 70):
+1F22 47 (Concise DCF for Node 71):
+1F22 48 (Concise DCF for Node 72):
+1F22 49 (Concise DCF for Node 73):
+1F22 4A (Concise DCF for Node 74):
+1F22 4B (Concise DCF for Node 75):
+1F22 4C (Concise DCF for Node 76):
+1F22 4D (Concise DCF for Node 77):
+1F22 4E (Concise DCF for Node 78):
+1F22 4F (Concise DCF for Node 79):
+1F22 50 (Concise DCF for Node 80):
+1F22 51 (Concise DCF for Node 81):
+1F22 52 (Concise DCF for Node 82):
+1F22 53 (Concise DCF for Node 83):
+1F22 54 (Concise DCF for Node 84):
+1F22 55 (Concise DCF for Node 85):
+1F22 56 (Concise DCF for Node 86):
+1F22 57 (Concise DCF for Node 87):
+1F22 58 (Concise DCF for Node 88):
+1F22 59 (Concise DCF for Node 89):
+1F22 5A (Concise DCF for Node 90):
+1F22 5B (Concise DCF for Node 91):
+1F22 5C (Concise DCF for Node 92):
+1F22 5D (Concise DCF for Node 93):
+1F22 5E (Concise DCF for Node 94):
+1F22 5F (Concise DCF for Node 95):
+1F22 60 (Concise DCF for Node 96):
+1F22 61 (Concise DCF for Node 97):
+1F22 62 (Concise DCF for Node 98):
+1F22 63 (Concise DCF for Node 99):
+1F22 64 (Concise DCF for Node 100):
+1F22 65 (Concise DCF for Node 101):
+1F22 66 (Concise DCF for Node 102):
+1F22 67 (Concise DCF for Node 103):
+1F22 68 (Concise DCF for Node 104):
+1F22 69 (Concise DCF for Node 105):
+1F22 6A (Concise DCF for Node 106):
+1F22 6B (Concise DCF for Node 107):
+1F22 6C (Concise DCF for Node 108):
+1F22 6D (Concise DCF for Node 109):
+1F22 6E (Concise DCF for Node 110):
+1F22 6F (Concise DCF for Node 111):
+1F22 70 (Concise DCF for Node 112):
+1F22 71 (Concise DCF for Node 113):
+1F22 72 (Concise DCF for Node 114):
+1F22 73 (Concise DCF for Node 115):
+1F22 74 (Concise DCF for Node 116):
+1F22 75 (Concise DCF for Node 117):
+1F22 76 (Concise DCF for Node 118):
+1F22 77 (Concise DCF for Node 119):
+1F22 78 (Concise DCF for Node 120):
+1F22 79 (Concise DCF for Node 121):
+1F22 7A (Concise DCF for Node 122):
+1F22 7B (Concise DCF for Node 123):
+1F22 7C (Concise DCF for Node 124):
+1F22 7D (Concise DCF for Node 125):
+1F22 7E (Concise DCF for Node 126):
+1F22 7F (Concise DCF for Node 127):
2000 (Read Inputs): 0
2001 (trashvariables):
- 001 (TRASH1): 0
- 002 (TRASH8): 0
- 003 (TRASH16): 0
- 004 (TRASH32): 0
- 005 (TRASH64): 0
+2001 01 (TRASH1): 0
+2001 02 (TRASH8): 0
+2001 03 (TRASH16): 0
+2001 04 (TRASH32): 0
+2001 05 (TRASH64): 0
2240 (__IB0_1_64):
- 001 (24576_1): 0
- 002 (24578_1): 0
+2240 01 (24576_1): 0
+2240 02 (24578_1): 0
2340 (__IW0_1_64):
- 001 (25601_2): 0
- 002 (25601_3): 0
+2340 01 (25601_2): 0
+2340 02 (25601_3): 0
2440 (__ID0_1_64):
- 001 (25638_2): 0
- 002 (25638_3): 0
- 003 (25638_4): 0
- 004 (25638_1): 0
+2440 01 (25638_2): 0
+2440 02 (25638_3): 0
+2440 03 (25638_4): 0
+2440 04 (25638_1): 0
4340 (__QW0_1_64):
- 001 (25617_1): 0
+4340 01 (25617_1): 0