Commit Graph

1178 Commits (8c55ff636d48176eb01949713f1b7a7fd9fc1824)
 

Author SHA1 Message Date
Michael Zillgith ee4da06690 - IEC 61850 server: fixed problem with test case sRp4 - RCB RptID attribute is not empty after writing empty string 5 years ago
Michael Zillgith cbd5c0b36f - GOOSE/SV publisher: remove internal header file from API header 5 years ago
Michael Zillgith 504c260667 - fixed program crash when normal mode parameers are missing in presentation layer (#252) 5 years ago
Michael Zillgith 9ab37e9836 - IED Server/GOOSE: Don't send GOOSE message with new event while data model is locked 5 years ago
Michael Zillgith 805d73b86f - GOOSE: added GOOSE observer feature (GooseSubscriber listening to all GOOSE messages) and GOOSE observer example 5 years ago
Michael Zillgith 9ac8192bae - IED Server: fixed service tracking object references for RCB and GoCB service tracking 5 years ago
Michael Zillgith 3e83cd6194 - GOOSE receiver: improvements in GOOSE receiver 5 years ago
Michael Zillgith 34647c6876 - GOOSE publisher: Added doxygen comments and functions GoosePublisher_publishAndDump, GoosePublisher_setStNum, GoosePublisher_setSqNum 5 years ago
Mikael Bourhis 401a436c95 Python wrapper: move the 'event handler' classes into a subdirectory 5 years ago
Michael Zillgith 473eec8464 - GOOSE/SV publisher: remove internal header file from API header
(cherry picked from commit 46d6769a89)
[Romain: Apply the patch to v1.5]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
5 years ago
Mikael Bourhis f5b5c0d3ad Python wrapper: add the support of the 'Goose publishing' 5 years ago
Romain Naour dcbd9f94ab examples/server_example_basic_io
There is an access error while using iec61850_client_example1 with server_example_basic_io.

From [1]:
    /* write a variable to the server */
    value = MmsValue_newVisibleString("libiec61850.com");
    IedConnection_writeObject(con, &error, "simpleIOGenericIO/GGIO1.NamPlt.vendor", IEC61850_FC_DC, value);

The error code is IED_ERROR_ACCESS_DENIED = 21.

By default access to variables with FC=DC and FC=CF is not allowed, fix this
by changing the access policy as suggested by [2].

[1] https://github.com/mz-automation/libiec61850/blob/v1.4.2.1/examples/iec61850_client_example1/client_example1.c#L71
[2] https://libiec61850.com/libiec61850/documentation/iec-61850-client-tutorial/#comment-61994

Signed-off-by: Romain Naour <romain.naour@smile.fr>
5 years ago
Mikael Bourhis 172883478a Python wrapper: declare all the C 'char *buffer' output parameters as a Python output string of 1024 max size
Needed for example for:
  - MmsValue_printToBuffer(values, buffer, buffer_size);
5 years ago
Mikael Bourhis 30f98e54cb Python wrapper: add handler class for the reception of GOOSE events 5 years ago
Mikael Bourhis ca97f2548f Python wrapper: add handler class for the reception of ReportControlBlock events 5 years ago
Mikael Bourhis 7bac935648 Python wrapper: add generic classes for handling events (like ReportControlBlock or GOOSE) 5 years ago
Mikael Bourhis 7c68e3e3f6 Python wrapper: add the support of the 'Goose subscription'
The callback for the processing of the received GOOSE is still missing for now.
5 years ago
Mikael Bourhis c2c7c7171e Python wrapper: add 'user-defined data types' for Timestamp (msSinceEpoch, nsSinceEpoch) 5 years ago
Michael Zillgith 649db2b3d6 - IEC 61850 server: extended control service tracking
- IEC 61850 server: partially implemented setting group service tracking
- IEC 61850 server: partially implemented GoCB service tracking
5 years ago
Michael Zillgith b857e4c4ec
Merge pull request #246 from RomainNaour/v1.5-client_example_reporting
iec61850_client_example_reporting: revert changes from MMS server pot…
5 years ago
Michael Zillgith 88acbd49c4 - COTP: fixed possible heap buffer overflow when handling message with invalid (zero) value in length field (#250) 5 years ago
Michael Zillgith 0129032f08 - IEC 61850 server: fixed - cancel command for time activated control returns object-access-denied even in case of success 5 years ago
Michael Zillgith cc22c69fb1 Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.5 5 years ago
Michael Zillgith 24a380c845 - IEC 61850 server: added updating of missing attributes for control
service tracking
5 years ago
Michael Zillgith 8bc7b75e11 - IEC 61850 server: fixed crash in control service tracking when application doesn't register control handler 5 years ago
Michael Zillgith 2467457b5b - IEC 61850 server: fixed problem with wrong service-type for service
tracking when writing URCBs (SetBRCBValues instead of SetURCBValues)
5 years ago
Michael Zillgith 80d11fbf78 - IEC 61850 server: started to implement control service tracking
(implemented support for SpcTrk)
5 years ago
Michael Zillgith 4ee5891388 - fixed debug output in iso_server.c 5 years ago
Michael Zillgith 2f5817e0ac - IEC 61850 server: implemented service tracking for BRCBs and URCBs 5 years ago
Michael Zillgith 920eabe31f - IEC 61850 client: ReasonForInclusion type is now int to be compatible
with C++
5 years ago
Romain Naour 1c2db6e3be iec61850_client_example_reporting: revert changes from MMS server potential crash fix
The commit 0d4930ac25 renamed the RCB values
from "testmodelSENSORS/LLN0.RP.events01" to "simpleIOGenericIO/LLN0.RP.EventsRCB01"
with other changes.

But since "testmodelSENSORS" doesn't exist on the server_example_basic_io
the program fail with:

Reading data set directory failed!
failed to read dataset
getRCBValues service error!

Revert all testmodelSENSORS related changes with the previous code.
Now we get the two report as expected:

received report for simpleIOGenericIO/LLN0.RP.EventsRCB with rptId Events1
  report contains timestamp (1596190789): Fri Jul 31 12:19:49 2020
  simpleIOGenericIO/GGIO1.SPCSO1.stVal[ST] (included for reason 16): false
  simpleIOGenericIO/GGIO1.SPCSO2.stVal[ST] (included for reason 16): false
  simpleIOGenericIO/GGIO1.SPCSO3.stVal[ST] (included for reason 16): false
  simpleIOGenericIO/GGIO1.SPCSO4.stVal[ST] (included for reason 16): false

received report for simpleIOGenericIO/LLN0.RP.EventsRCB with rptId Events1
  report contains timestamp (1596190790): Fri Jul 31 12:19:50 2020
  simpleIOGenericIO/GGIO1.SPCSO1.stVal[ST] (included for reason 16): false
  simpleIOGenericIO/GGIO1.SPCSO2.stVal[ST] (included for reason 16): false
  simpleIOGenericIO/GGIO1.SPCSO3.stVal[ST] (included for reason 16): false
  simpleIOGenericIO/GGIO1.SPCSO4.stVal[ST] (included for reason 16): false

Signed-off-by: Romain Naour <romain.naour@smile.fr>
5 years ago
Michael Zillgith 004789cf39 - fixed error in API documentation 5 years ago
Michael Zillgith 4a3702112e - MMS client: fixed potential problem in multi-variable write response parsing 5 years ago
Michael Zillgith 27ae0a5c0f - removed outdated comment 5 years ago
Michael Zillgith 69d93f398c - IEC 61850 client: fixed bug - IedConnection_setRCBValuesAsync always return 0 instead of invoke-ID 5 years ago
Michael Zillgith de6886c6f3 - MMS: fixed problem in handling of indefinite length encoded BER elements 5 years ago
Michael Zillgith cf7dbcc612 - HAL: added thread/semaphore support for MacOS 5 years ago
Michael Zillgith 02f03aea2f - GOOSE subscriber: added optional destination address check for GOOSE messages 5 years ago
Michael Zillgith 7ece9922ed - BSD socket: added support for async client socket functions 5 years ago
Michael Zillgith 092d8786ac - IEC 61850 server: control model - fixed bug in handling of check flags 5 years ago
Michael Zillgith 538b9698bc - COTP: fixed bug in sendBuffer loop 5 years ago
Michael Zillgith c4de14eb45 - MmsValue: fixed unaligned memory access problems for MMS_FLOAT variables 5 years ago
Michael Zillgith d38e590c99 - IEC 61850/MMS server: control - allow WaitForExecutionHandler to trigger LastApplError message 5 years ago
Michael Zillgith 5f02ea1661 - IEC 61850 server: control module return AddCause command-already-in-execution when second operate is received while command is executed 5 years ago
Michael Zillgith ede2c7766c
Merge pull request #239 from RomainNaour/v1.5-musl
V1.5 musl
5 years ago
Romain Naour 801d43e118 serial_port_linux: Add missing include sys/time.h
POSIX says `struct timeval` is defined if <sys/time.h> is included.

Adding this header allow to build against musl-libc.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from v1.4 branch commit 661405eb60)
5 years ago
Romain Naour a7d744d55d use <poll.h> instead of <sys/poll.h>
The manpage of poll(2) states that the prototype of poll is defined
in <poll.h>. Use that header file instead of <sys/poll.h> to allow
compilation against musl-libc.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from v1.4 branch commit 4cad505fc9)
5 years ago
Michael Zillgith d85b7ac777 - IEC 61850 client: reporting - support data set entries with multiple reasons for inclusion 5 years ago
Michael Zillgith b3c5ecdcf2 - IEC 61850 server: report service - combine quality and value change of a FCDO in the same report when model is locked (send data set entry with multiple reason-for-inclusion) 5 years ago
Michael Zillgith 3bf0e9a689 - MMS client: fixed potential problem in handling of next invoke ID 5 years ago