I have no problem with PiCAN2 but a script has to be called in order to enable the CAN bus before CODESYS !/bin/sh BITRATE=expr $2 \\* 1000 ifconfig $1 down echo ip link set $1 type can bitrate $BITRATE ip link set $1 type can bitrate $BITRATE ifconfig $1 up
I have no problem with PiCAN2 but a script has to be called in order to enable the CAN bus before CODESYS
I have no problem with PiCAN2
I thought naively that by enabling the watchdog the Plclogic would be restarted when a timeout occur, but all I get is an exception and my task stops. How can I restart a task when a watchdog exception occur? I can see I can add an Event handler for an exception but which function should I call to restart my task or application?
I make an application with a Visualization with a trace. It shows the temperature over time 10-20 min. I want by pushing a button reset the trace so it start a 0 again. How can I accomplish that?
Are you using CANopen? Are sure that you can't configure the device to at least discard some of the messages in case a network failure. Is it possible to send a reset command to the device which clears the buffer?
How do I configure a GPIO input port with a pullup or a pulldown resistor. Shall I do that with a python script?
I am using a TextList where the ID is set to a name like timeID, volumeID or continousID. However if these names don't represent an integer, I cannot use the TextList in a "ComboBox for integers". A ComboBox for integers requires IDs like 0,1,2. So my question is how can I assign 0 to timeID and 1 to volumeID?
I have the structure: TYPE Horse : STRUCT flow : ARRAY [0..1, 0..1] OF REAL; END_STRUCT END_TYPE Then I have a GVL with: VAR_GLOBAL flow_set : ARRAY [3..4] OF Horse:=[flow := [{1.6,2.4},{0.210,0.435}], flow := [{1.6,2.4},{0.210,0.435}]]; END_VAR I get the error message that flow is not defined. How do I initialize my structure and array correctly?
I assume that ic2master somewhat is equivalent to: https://linux.die.net/man/8/i2cget However some devices also require a data address besides the chip-address. How can I specify that?
I try to figure out how to use ac_datalog to log a value using sqlite as storage. CODESYS creates a file /var/opt/codesys/PlcLogic/ac_datalog/Application_DataLog.sqlite but as seen here it has no tables. Why? sqlite> .dbinfo database page size: 32768 write format: 1 read format: 1 reserved bytes: 0 file change counter: 12 database page count: 2 freelist page count: 1 schema cookie: 12 schema format: 4 default cache size: 0 autovacuum top root: 0 incremental vacuum: 0 text encoding: 1 (utf8) user...
The timestamp used for alarm log is this: https://www.epochconverter.com/ldap But I dont know how to convert it using sqlite3. It make it diffecult to do a query
I can read the alarmlog with sqlite3, but I don't understand the format and the meaning of the various tables. However, I think that the time is specified in milliseconds since January 1984. How can I make query which list the alarms formatted correctly? I assume I have a similar problem with AC_DataLog . It is of course fine that we can store values in a sqlite database, but it would be nice if we also could read these stored values.
Hi campell The end user of my application is not using the IDE and can therefore not export it to a CSV file. Is it possible to do it from the application if the user for instance press a button? I want to clarify I want to log every time the temperature change 10%. For instance: 10.0 11.0 11.1 And so on. Is the Alarm and Event manager adequate for that?
We are living in 2020 logging should be a trivial thing, but I am lost. I want to log the a temperature every time it has changed 10% or 1 degree from the desired value. I want the log to be cyclic, I want to store it an CSV file How do I do that? What shall I look for? Shall I use CmpLog.LOG_STD_LOGGER or maybe TrendRecording ?