Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
opcua-asyncio
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nikola Balog
opcua-asyncio
Commits
e6146e86
Commit
e6146e86
authored
Aug 17, 2020
by
Andreas Heine
Committed by
oroulet
Aug 25, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update server-callback.py
parent
13a17153
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
15 deletions
+16
-15
examples/server-callback.py
examples/server-callback.py
+16
-15
No files found.
examples/server-callback.py
View file @
e6146e86
...
...
@@ -2,6 +2,7 @@ import sys
sys
.
path
.
insert
(
0
,
".."
)
import
logging
from
datetime
import
datetime
import
asyncio
try
:
from
IPython
import
embed
...
...
@@ -37,7 +38,7 @@ def delete_monitored_items(event, dispatcher):
print
(
'delete_monitored_items'
)
if
__name__
==
"__main__"
:
async
def
main
()
:
# optional: setup logging
logging
.
basicConfig
(
level
=
logging
.
WARN
)
#logger = logging.getLogger("asyncua.address_space")
...
...
@@ -53,37 +54,37 @@ if __name__ == "__main__":
# now setup our server
server
=
Server
()
#server.disable_clock()
await
server
.
init
()
#await server.disable_clock()
#server.set_endpoint("opc.tcp://localhost:4840/freeopcua/server/")
server
.
set_endpoint
(
"opc.tcp://0.0.0.0:4840/freeopcua/server/"
)
server
.
set_server_name
(
"FreeOpcUa Example Server"
)
# setup our own namespace
uri
=
"http://examples.freeopcua.github.io"
idx
=
server
.
register_namespace
(
uri
)
idx
=
await
server
.
register_namespace
(
uri
)
# get Objects node, this is where we should put our custom stuff
objects
=
server
.
nodes
.
objects
# populating our address space
myfolder
=
objects
.
add_folder
(
idx
,
"myEmptyFolder"
)
myobj
=
objects
.
add_object
(
idx
,
"MyObject"
)
myvar
=
myobj
.
add_variable
(
idx
,
"MyVariable"
,
6.7
)
myvar
.
set_writable
()
# Set MyVariable to be writable by clients
myfolder
=
await
objects
.
add_folder
(
idx
,
"myEmptyFolder"
)
myobj
=
await
objects
.
add_object
(
idx
,
"MyObject"
)
myvar
=
await
myobj
.
add_variable
(
idx
,
"MyVariable"
,
6.7
)
await
myvar
.
set_writable
()
# Set MyVariable to be writable by clients
# starting!
server
.
start
()
await
server
.
start
()
# Create Callback for item event
server
.
subscribe_server_callback
(
CallbackType
.
ItemSubscriptionCreated
,
create_monitored_items
)
server
.
subscribe_server_callback
(
CallbackType
.
ItemSubscriptionModified
,
modify_monitored_items
)
server
.
subscribe_server_callback
(
CallbackType
.
ItemSubscriptionDeleted
,
delete_monitored_items
)
print
(
"Available loggers are: "
,
logging
.
Logger
.
manager
.
loggerDict
.
keys
())
try
:
# enable following if you want to subscribe to nodes on server side
embed
()
finally
:
server
.
stop
()
while
True
:
await
asyncio
.
sleep
(
1
)
if
__name__
==
'__main__'
:
asyncio
.
run
(
main
())
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment