Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
@deprecated()
def add_device_notification(adr, data, attr, callback, user_handle=None):
# type: (AmsAddr, Union[str, Tuple[int, int]], NotificationAttrib, Callable, int) -> Optional[Tuple[int, int]] # noqa: E501
"""Add a device notification.
:param pyads.structs.AmsAddr adr: AMS Address associated with the routing
entry which is to be removed from the router.
:param Union[str, Tuple[int, int] data: PLC storage address as string or Tuple with index group and offset
:param pyads.structs.NotificationAttrib attr: object that contains
all the attributes for the definition of a notification
:param callback: callback function that gets executed in the event of a notification
:rtype: (int, int)
:returns: notification handle, user handle
Save the notification handle and the user handle on creating a
notification if you want to be able to remove the notification
@deprecated()
def read_device_info(adr):
# type: (AmsAddr) -> Optional[Tuple[str, AdsVersion]]
"""Read the name and the version number of the ADS-server.
:param AmsAddr adr: local or remote AmsAddr
:rtype: string, AdsVersion
:return: device name, version
"""
if port is not None:
return adsSyncReadDeviceInfoReqEx(port, adr)
return None
@deprecated()
def read_state(adr):
# type: (AmsAddr) -> Optional[Tuple[int, int]]
"""Read the current ADS-state and the machine-state.
Read the current ADS-state and the machine-state from the
ADS-server.
:param AmsAddr adr: local or remote AmsAddr
:rtype: (int, int)
:return: adsState, deviceState
"""
if port is not None:
return adsSyncReadStateReqEx(port, adr)
return None
@deprecated()
def write_control(adr, ads_state, device_state, data, plc_datatype):
# type: (AmsAddr, int, int, Any, Type) -> None
"""Change the ADS state and the machine-state of the ADS-server.
:param AmsAddr adr: local or remote AmsAddr
:param int ads_state: new ADS-state, according to ADSTATE constants
:param int device_state: new machine-state
:param data: additional data
:param int plc_datatype: datatype, according to PLCTYPE constants
:note: Despite changing the ADS-state and the machine-state it is possible
to send additional data to the ADS-server. For current ADS-devices
additional data is not progressed.
Every ADS-device is able to communicate its current state to other
devices.
There is a difference between the device-state and the state of the
@deprecated()
def read_by_name(adr, data_name, plc_datatype, return_ctypes=False, check_length=True):
# type: (AmsAddr, str, Type, bool) -> Any
"""Read data synchronous from an ADS-device from data name.
:param AmsAddr adr: local or remote AmsAddr
:param string data_name: data name
:param int plc_datatype: type of the data given to the PLC, according to
PLCTYPE constants
:param bool return_ctypes: return ctypes instead of python types if True
(default: False)
:param bool check_length: check whether the amount of bytes read matches the size
of the read data type (default: True)
:return: value: **value**
"""
if port is not None:
@deprecated()
def read_write(
adr,
index_group,
index_offset,
plc_read_datatype,
value,
plc_write_datatype,
return_ctypes=False,
check_length=True,
):
# type: (AmsAddr, int, int, Type, Any, Type, bool, bool) -> Any
"""Read and write data synchronous from/to an ADS-device.
:param AmsAddr adr: local or remote AmsAddr
:param int index_group: PLC storage area, according to the INDEXGROUP
constants
@deprecated()
def del_device_notification(adr, notification_handle, user_handle):
# type: (AmsAddr, int, int) -> None
"""Remove a device notification.
:param pyads.structs.AmsAddr adr: AMS Address associated with the routing
entry which is to be removed from the router.
:param notification_handle: address of the variable that contains
the handle of the notification
:param user_handle: user handle
"""
if port is not None:
return adsSyncDelDeviceNotificationReqEx(
port, adr, notification_handle, user_handle
)
@deprecated()
def write_by_name(adr, data_name, value, plc_datatype):
# type: (AmsAddr, str, Any, Type) -> None
"""Send data synchronous to an ADS-device from data name.
:param AmsAddr adr: local or remote AmsAddr
:param string data_name: PLC storage address
:param value: value to write to the storage address of the PLC
:param int plc_datatype: type of the data given to the PLC,
according to PLCTYPE constants
"""
if port is not None:
return adsSyncWriteByNameEx(port, adr, data_name, value, plc_datatype)
@deprecated()
def write(adr, index_group, index_offset, value, plc_datatype):
# type: (AmsAddr, int, int, Any, Type) -> None
"""Send data synchronous to an ADS-device.
:param AmsAddr adr: local or remote AmsAddr
:param int index_group: PLC storage area, according to the INDEXGROUP
constants
:param int index_offset: PLC storage address
:param value: value to write to the storage address of the PLC
:param Type plc_datatype: type of the data given to the PLC,
according to PLCTYPE constants
"""
if port is not None:
return adsSyncWriteReqEx(
port, adr, index_group, index_offset, value, plc_datatype
@deprecated()
def read(
adr, index_group, index_offset, plc_datatype, return_ctypes=False, check_length=True
):
# type: (AmsAddr, int, int, Type, bool, bool) -> Any
"""Read data synchronous from an ADS-device.
:param AmsAddr adr: local or remote AmsAddr
:param int index_group: PLC storage area, according to the INDEXGROUP
constants
:param int index_offset: PLC storage address
:param int plc_datatype: type of the data given to the PLC, according to
PLCTYPE constants
:param bool return_ctypes: return ctypes instead of python types if True
(default: False)
:param bool check_length: check whether the amount of bytes read matches the size
of the read data type (default: True)