-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathchangelog.txt
401 lines (359 loc) · 17.2 KB
/
changelog.txt
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
Changelog of CA Lab
V1.7.4.1 (Released: December 2024)
# Resolved Windows Setup Issues
- Added "Install for all users"
- Fixed issues with the custom installation location
- Automated PATH variable configuration
- Enhanced the post-installation page
# Improved path search for EPICS components in certain VIs
# Updated VC Redist to Version 14.42.34433.0
# Updated EPICS Base to Version 7.0.8.2
Fixed crash when enabling field values without field names enabled
----------------------------------------------------------------------
V1.7.3.3 (Released: June 2024)
+ When the PREC field is queried, the string output of the values is
formatted accordingly in CaLabGet.vi. This enhancement applies
only to EPICS records that support the PREC field.
+ The EPICS record type and the native EPICS data type are now also
displayed in the PVList in CaLabInfo.vi.
+ Added utilities-VIs to add/remove CA Lab to/from palette set (LV)
! To avoid confusion with the programming terminology,
in the caLabPut.vi the label of the input "synchronous"
has been changed to "wait". (The VI is 100% backward compatible.)
# Resolved the 39-character string bug.
# Fixed issues with 64-bit record handling for large numbers.
# Fixed data type conversationFixed problems with inactive Epics
variables at the time of programme start.
# Minor improvements of the SoftIOC Demo.vi
# The setup no longer requires admin rights.
# The CA Lab libraries and VIs are now saved under %APPDATA%\calab.
----------------------------------------------------------------------
V1.7.3.2
# Fixed problems with inactive Epics variables
at the time of programme start.
----------------------------------------------------------------------
V1.7.3.1
# Support of different number or order of fields in CaLabGet/Event
# CaLabInfo.vi: PV list now has alphabetically sorted PVs names
----------------------------------------------------------------------
V1.7.3.0
# Fixed some output filter issues
# Improved "SoftIOC Demo.vi"
- Support discontinued for LabVIEW versions older than 2019
- Support discontinued for the 32-bit version of CA Lab on Linux
----------------------------------------------------------------------
Last version with 32-bit support of CA Lab on Linux
(LabVIEW Community Edition (32-bit) on Windows is still supported)
Last version with backward compatibility up to LabVIEW 8.5
V1.7.2.2 (Released: February 2023)
# Fixed misleading warning "Missing values to write"
# Memory leak on write fixed (mode: "variable PV names" = TRUE)
# Support for EPICS base 7.0.7 is back
----------------------------------------------------------------------
V1.7.2.1 (Released: December 2022)
# fall back to EPICS base 7.0.4.1
(working on fix for 7.0.7)
----------------------------------------------------------------------
V1.7.2.0 (Released: November 2022)
+ Compatible with NI Linux Real-Time x86
+ CaLabSoftIoc is now native LabVIEW code (calabioc.dll is no longer needed)
+ CaLabSoftIoc now also works under Linux
+ CaLabInit and CaLabGet has an optional output filter now
(this can save ressources and increase performance)
Following values can be combined with OR:
PV indicators:
firstValueAsString = 1
firstValueAsNumber = 2
valueArrayAsNumber = 4
errorOut = 8
PV Info cluster:
pviElements = 16
pviValuesAsString = 32
pviValuesAsNumber = 64
pviStatusAsString = 128
pviStatusAsNumber = 256
pviSeverityAsString = 512
pviSeverityAsNumber = 1024
pviTimestampAsString = 2048
pviTimestampAsNumber = 4096
pviFieldNames = 8192
pviFieldValues = 16384
pviError = 32768
# Fixed multiple instances of PVs in "myItems" map
# Fixed crash of negative enums
# Added mutex for writing PVs
# EPICS base 7.0.7
# Some clean up in VIs
----------------------------------------------------------------------
V1.7.1.1 (Released: August 2022)
# restoring some insignificant VI input defaults
from previous versions v1.7.0.1 to v1.7.0.6
# adaptations of the examples
----------------------------------------------------------------------
V1.7.1.0 (Released: August 2022)
# EPICS base 7.0.6.1
# solved the conflict when unloading libraries
(this was the reason for the withdrawal of versions V1.7.0.x)
# User Events revised
# Internal search algorithm reworked
# Improved performance for large number of variables (>1.000)
# Added Parallel Event Demo.vi (LabVIEW 2019 and later)
# Updated instructions for Linux users
# Published Code at GitHub https://github.com/epics-extensions/CALab
# Additional software developer Brian Powell - A warm welcome!
----------------------------------------------------------------------
December 2020
versions V1.7.0.x were withdrawn because they did not run
sufficiently stable
fall back to stable version V1.6.0.11
----------------------------------------------------------------------
V1.7.0.6 (Released: September 2020)
# EPICS base 7.0.4.1
# BUGFIX caLabPut.vi: fixed memory leak in mode "variable PV names"
# BUGFIX: CaLabGet "Value array (number)" (2D arrays only)
# BUGFIX: Put_DBL-1D_PV.vi and Put_I64-1D_PV-1D.vi
input "Synchronous (F)" is recommend
# BUGFIX: CaLabEvent_PV.vi and CaLabPut_Main_Initialized.vi
input "PV name(s)" is required
+ Improved performance for caLabPut and caLabGet (large byte arrays)
----------------------------------------------------------------------
V1.7.0.3 (Released: August 2020)
# BUGFIX caLabGet.vi: sometimes 0 elements in result when Timeout=1s
----------------------------------------------------------------------
V1.7.0.2 (Released: July 2020)
+ Added warning for duplicate PV names
----------------------------------------------------------------------
V1.7.0.1 (Released: June 2020)
# EPICS base 7.0.4
! CA Lab is now running as a service and will only be terminated
when LabVIEW is fully terminated.
! CHANGED default value of the input connector "variable PV names"
to TRUE (the previous default value was confusing)
More info: https://hz-b.de/calab => caLabGet.vi / caLabPut.vi
! CHANGED data type of the input connector "Timeout" to integer
# BUGFIX in CaLabSoftIoc.vi: input field "Data Type" had a blank
space for "bo" (Thanks to Lee)
# BUGFIX in CaLabSoftIOC.vi @64bit: detecting of the softIoc.exe
+ ADDED value range (1-255) for the input connector "Timeout"
----------------------------------------------------------------------
V1.6.0.11 (Released: March 2020)
# BUGFIX 60 characters support for CaLabSoftIOC.vi
# EPICS base 3.14.12.8
# Debug window shows more details
----------------------------------------------------------------------
V1.6.0.10 (Released: June 2018)
# PV names can use 60 characters now
# constantly changing PV names can be used again (input connector
'variable PV names' must be set true)
Remark: You will get better performance without this option
----------------------------------------------------------------------
V1.6.0.9 (Released: March 2018)
# fixed multithreaded write values
# fixed default input type for name in "CaLabPut.vi"
# corrected "Event Demo.vi"
----------------------------------------------------------------------
V1.6.0.8 (Released: March 2018)
+ "CaLabDisconnect.vi": Now you can disconnect several or all
EPICS variables from network without closing all CaLab-VIs
+ "CaLabInit.vi": Now you can initialize Channel Access Variables
before using in "CaLabGet.vi" and "CaLabPut.vi"
+ Field values with enums are displayed with correct enum string now
# EPICS base 3.14.12.7
# Update of online documentation
# Online documentation moved to http://hz-b.de/calab
- Input "ValueSetsInColums" removed
! Please, replace old CA Lab VIs! The new VIs fit into old structures.
----------------------------------------------------------------------
V1.5.1.0 (Released: January 2016)
+ CaLabGet.vi: added optional parameter NoMDEL
NoMEL=true -> ignore monitor dead-band
-> deactivated caching of values
- CaLabGet.vi: connector "Initialize" removed
# CaLabEvent.vi: restart issues fixed
# EPICS base 3.14.12.5
# VI versioning started
# Update of examples
# Update of online documentation
----------------------------------------------------------------------
V1.5.0.5 (Released: August 2014)
+ Environment variable for redirecting debug window output to a file
CALAB_NODBG = PATH_NAME_OF_LOG_FILE
+ Environment variable for switching off monitoring EPICS variables
This is useful to avoid permanent open network ports. (CompactRIO)
CALAB_POLLING = TRUE
(CA Lab looks only if CALAB_POLLING is defined. The value does not matter.
Events and synchronisation are disabled if you use this polling mode.)
+ Added CALAB_NODBG and CALAB_POLLING to CaLabInfo
# Non-blocking mutexes to avoid freezing
# Improved CaLabPut to run more smoothly
# Detection of empty PV name in CaLabPut
# Good news for all Linux users: CaLabEvent.vi is working again
Please link the CA Lab library without the option "-llv"
----------------------------------------------------------------------
V1.5.0.1 (Released: February 2014)
+++ New server component! +++
+ Configure and start an external "soft IOC shell" instance directly
out of LabVIEW (for Windows only, Linux users really doesn't need it)
+ New VI "CaLabInfo" to show:
current (used) EPICS environment variables
internal EPICS PV cache of CA Lab
# Error code for success is 0 now instead of 1
# Error codes are in user error code range now (7008-7496)
Ca Lab error {7008-7472} - 7000 = Channel Access error code
# Shows more error messages
# Solves problems with restarted VIs
# caLabGet: Solves problems with empty PV name array
# Removes delayed termination of VIs
(found a better way for safe termination)
# PV cache and subcriptions are running until all CA Lab VIs are closed
(stopped VIs have ongoing PV monitors for quick restart)
# Improved Linux compatibility
# EPICS base 3.14.12.4
Known problems
Linux + current LabVIEW version: The event function is broken. (NI
confirmed the problem and looks for a solution.) The problem is in the
development enviroment only. If you build an executible, all is fine.
(NI 2014-02-24: "The problem is expected to be fixed with the version LV 2014.")
----------------------------------------------------------------------
V1.4.1.0 (Released: February 2013)
+ New memory management
+ Gaps in string arrays are possible now; e.g. ['a', 'b', '', 'd']
(EPICS data type must be a string array!)
+ New LabVIEW control "PV Info" (output cluster),
project "CaLabs.lvproj" and aliases "CaLabs.aliases"
(Thanks to Robert M. Everly)
+ Global Channel Access warnings and errors are displayed
via "Debugging window" of LabVIEW
# Just one call of caLab.dll in caLabGet.vi instead of two
# Parallel running instances of CA Lab don't freeze anymore
# Events: Initially disconnected variables receive values
after connection is established (fix)
# Improved LabVIEW convention of VIs
(Thanks to Robert M. Everly)
# Update of ReadMeFirst.txt
# Delayed termination of VIs if they run a very short time (<10sec.)
This guarantees a safe termination of EPICS environment.
# Write values (without synchronous) is up to 10 times faster now
# Read values is up to 5 times faster now
- Removed buffer size (since version 1.3 without function)
- Removed dead lock detecting and auto unfreezing
(No workaround needed anymore)
*** Note ***
If you upgrade existing VIs with CA Lab please exchange:
caLabGetxx.vi -> caLabGet.vi
caLabPutxx.vi -> caLabPut.vi
and click right on greyed out CA Lab VIs and use "Relink to SubVI"
to update type of Polymorphic VI.
Watch out! LabVIEW may result in a misalignment of connectors!!
----------------------------------------------------------------------
V1.3.2.1 (Released: August 2012)
# caLabEvent: Solves problems with subscriptions to
multi-element (DBR_TIME_CHAR) variables and NULL values
(Thanks to Phillip J. Wyss -Purdue University-)
----------------------------------------------------------------------
Change-log of CA Lab
V1.3.2.0 (Released: July 2012)
# Synchronized puts wait for callbacks now (ca_array_put_callback)
# Less IO delay
# Solved problems with caLabEvent and uninitialized arrays
# Recompiled EPICS base 3.14.12.2 with
rules-db.patch, str-to-enum.patch, fix-907761.patch, comment-nop.patch,
rsrv2.patch, nfsMount.patch and dbReportDev.patch
+ Multi threaded get and put = faster io
+ Dead lock detecting and auto unfreezing
+ Optional warning window
----------------------------------------------------------------------
V1.3.1.3 (Released: March 2012)
# Solved 1D-pv-array to 1D-value-array problem
# caLabGet.vi: optimized memory allocation
# caLabPut.vi: documentation updated
# Examples revised and documented better
# Recompiled EPICS base 3.14.12.2 with
rules-db.patch, fix-907761.patch and str-to-enum.patch
----------------------------------------------------------------------
V1.3.1.2 (Released: February 2012)
+ caLabPut: New option valueSetsInColumns to hold value sets in columns
instead of rows (value sets in rows for 2d arrays is default now)
# caLabPut optimized for speed (large arrays)
# BUG: caLabGet and caLabGet had transposed arrays in some cases
# Fixes problems with PV names that contain white spaces
# Better handling of oversized value arrays in caLabPut
(Ca Lab uses max. valid array size [NELM field] instead of size=1 now)
----------------------------------------------------------------------
V1.3.1.0 (Released: January 2012)
+ caLabPut: New option "synchronous"
(old connector name was "fire and forget")
true = writes value(s) after waiting for the end
of record processing
false = writes value(s) without waiting for the end
of record processing (DEFAULT)
Note: Old projects that use the "fire and forget" feature in caLabPut,
are no longer compatible!
----------------------------------------------------------------------
V1.3.0.4 (Released: December 2011)
# Fixes problems with PV names that contain a point
# Better enum string handling for string value output
# Uninstaller detects and terminates running caRepeater.exe now
---------------------------------------------------------------------
V1.3.0.3 (Released: December 2011)
+ Completely rewritten
+ EPICS base 3.14.12.2
+ 64-bit support
+ !!! caLabGet and caLabPut accepts PV arrays now !!!
+ Much faster if you use name arrays
+ Optional fields are no longer static values
(monitoring of optional fields)
# No white spaces in results anymore
# Fixes problem with long PV names
# Memory leak for caLabPut Fixes
# Works with LabVIEW 2011
# Improved polymorphic vi handling (boolean input)
# Fixes caLabPut2x.vi (1D-name-array with 1D-value-array)
# Keeps last valid value in error case
- Fire and forget not longer available
(dummy connectors for compatibility)
---------------------------------------------------------------------
V1.2.1.3 (Released: May 2011)
# Fixes multi instances bug
# Fixes for EPICS Base
# Fixes lost values of reconnected channels
# Fixes problems with multiple ioc-server-sources
---------------------------------------------------------------------
V1.2.0.0 (Released: February 2011)
+ Added "user event" (software trigger) to CA Lab
# Minor changes in startDemo.bat (11 FEB 2011)
# Fixes LabVIEW crash in case of immediately closing VI after
stopping it
# Faster termination of CA Lab VIs
---------------------------------------------------------------------
V1.1.1.1 (Released: January 2011)
# Holds last valid value of PV after channel disconnection with
current state info
# Fixes for EPICS Base "escape-paths.patch", "errlog-atExit.patch"
and "rsrv.patch"
---------------------------------------------------------------------
V1.1.1.0 (Released: January 2011)
+ WORKS WITH LINUX NOW!!!
+ Works with LabVIEW 7.0 up to LabVIEW 2010
+ Improved performance (much more faster Channel Access IO,
faster reconnect)
+ Internal PV cache to improve read and write access and reduce
network traffic
+ User defined fields of EPICS PV such as "EGU", "DESCRIPTION" etc.
+ New additional fire-and-forget-bit for speeding up write
If you use the fire and forget mode you'll get no success info
+ User defined timeout for Channel Access communication (optional)
+ User defined buffer for reconnect and put task (optional)
+ More PV information bundled in output cluster
+ Status bit of PV for easy health check
- In LabVIEW 8.5 and higher "initPV.vi" and "disconnectPV.vi"
are no longer needed.
- Reduced user-VIs to "caLabGet.vi" and "caLabPut.vi"
# Fixes memory leak
# Holds last valid value of PV after channel disconnection with
current state info
# Better error handling (no frozen LabVIEW anymore)
# Built with EPICS Base 3.14.12
---------------------------------------------------------------------
V1.0.0.3 (Released: June 2010)
- First Release