forked from dmroeder/pylogix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog
170 lines (126 loc) · 4.79 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
07/27/16
-Fixed defaulting to element zero when writing to an array value
07/09/16
-Added CIP error messages, fixed looking at wrong byte for error
-Fixed single bool from array write
07/07/16
-.discover() returns .IPAddress instead of .Address
-Moved some code from _parseIdentityResponse() to lgxDevice.py to simplify function
-Fixed issue with some devices failing to parse
-Better filtering discovered devices
06/15/16
-Added GetTagList() to retreive the controller scope tags
06/14/16
-Added Discover() to query all of the Ethernet I/P devices on the network.
06/09/16
-Added multi-read function back in, also GetPLCTime()
-Fixed writing strings
06/08/16
-Fixed multi-dim read's, array reads. Write functions now working
06/07/16
-Rewrite eip.py. Trying to make it easier to use, only Read functions work for now
04/07/16
-Modified identify.py to get rid of the functions for the lists
03/04/16
-Fixed issue reading array only returning first element
02/25/16
-more mods to identify.py, made it more pythonic with JordanCClark's suggestions
-try without binding if looping through ipv4 addreses doesn't return anything
02/22/16
-identify.py now sends packet out each network adapter
12/11/15
-Fixed incorrect vendorID's in identify.py
-Filter out garbage from GetTagList
-Added MultiRead() function
11/28/15
-Renamed SetIPAddress to IPAddress and SetProcessorSlot to ProcessorSlot
-Updated README with identify.py info
11/27/15
-SequencCounter starts at 1, apparently L32E has problem with it starting at zero
11/23/15
-Added rolling context
10/15/15
-Pretty major rewrite of how we build the CIP request, more to come I'm sure
10/14/15
-DataType is retreived properly now (one byte)
10/09/15
-Reworked the Read function a bit
10/08/15
-Updated TagNameParser and InitialRead to store only base tag
-Fixed read STRING array returning only the first string
10/07/15
-Initial reads minimum amount of data to get data type
10/06/15
-Fixed single bool array read derp, removed some old code
-Reworked CIPDataTypes dict
-Removed, obsolete functions
-Context is no longer a string
-Fixed STRING array reads
10/05/15
-Fixed multi dim write
-Added write single array bool support
10/04/15
-Added multi dim read support
10/01/15
-A bunch of rework for reading/writing bit of a word
-Cleaned up extra read when writing to tag
09/28/15
-Read single BOOL from array works now, reworked initial tag read
-Fixed bit of a word reading, changed code for checking value of bit of a word
09/27/15
-Each unique tag read gets stored in a dictionary so we won't read it again
when we do a write
-Back to returning just value instead of tag type
-Cleaned up write function with new dict changes, fixed issue with bit of word confusion
-Cleaned some more commented functions
09/22/15
-Fixed large array read bug
-Fixed LINT array reads
-Added TagNameParser function
09/20/15
-Large array reads now sort of working
08/31/15
-Write bit of a word fixed (something wrong with bit 31)
08/27/2015
-Added ParsePacket to LGXTag which GetTagList uses
-Read now returns LGXTag type
-Write no longer requres providing data type
-Fixed GetTagList when processor is not in slot 0
08/26/2015
-Added LINT read support
-Added functino .GetPLCTime()
-Fixed write reporting error when successful
-Removed some white space
06/20/2015
-Removed duplicate _buildEIPSendRRDatHeader, renamed some stuff
-Fixed TagName length, was grabbing extra data
-Write now reports an error if it fails
06/17/15
-Created LGXTag object, GetTagList() now returns list of LGXTag
-Modified read for string to accomodate custom string size data types
-Renamed ReadStuffs/WriteStuffs to Read/Write, "STRUCT" data type renamed to "STRING"
06/15/2015
-GetTagList() is now working. Still could use some work though.
06/14/2015
-Rename some TagList functions, combined TagListMessage functions, still needs work
06/12/2015
-Added GetTagList function, needs some serious work though
04/07/2015
-Removed some old code (open connection)
-OpenConnection is handled in Read/Write functions, must use .SetIPAddress("192.168.1.10")
03/23/2015
-Added ProcessorSlot. If not in slot 0, use .SetProcessorSlot(n)
03/22/2015
-Added check for connection in read/write functions, no longer crashes
-Added change log
03/18/2015
-Removed buildCIPTagRead and Write requests (now one funtion)
03/17/2015
-Merged buildTagRead and Write Request into one common function called buildTagRequest
-Cleaned up some code
03/16/2015
-Reworked CIPRequest to read complex data types (specific array elements and UDT's)
-Added ability to read a single simple array element
03/14/2015
-Removed duplicate CIPTagReadRequest function (from testing)
-Initial commit