fins

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// CommandCodeMemoryAreaRead Command code: IO memory area read
	CommandCodeMemoryAreaRead uint16 = 0x0101

	// CommandCodeMemoryAreaWrite Command code: IO memory area write
	CommandCodeMemoryAreaWrite uint16 = 0x0102

	// CommandCodeMemoryAreaFill Command code: IO memory area fill
	CommandCodeMemoryAreaFill uint16 = 0x0103

	// CommandCodeMultipleMemoryAreaRead Command code: IO memory area multiple read
	CommandCodeMultipleMemoryAreaRead uint16 = 0x0104

	// CommandCodeMemoryAreaTransfer Command code: IO memory area transfer
	CommandCodeMemoryAreaTransfer uint16 = 0x0105

	// CommandCodeParameterAreaRead Command code: Parameter area read
	CommandCodeParameterAreaRead uint16 = 0x0201

	// CommandCodeParameterAreaWrite Command code: Parameter area write
	CommandCodeParameterAreaWrite uint16 = 0x0202

	// CommandCodeParameterAreaClear Command code: Parameter area clear
	CommandCodeParameterAreaClear uint16 = 0x0203

	// CommandCodeProgramAreaRead Command code: Program area read
	CommandCodeProgramAreaRead uint16 = 0x0301

	// CommandCodeProgramAreaWrite Command code: Program area write
	CommandCodeProgramAreaWrite uint16 = 0x0302

	// CommandCodeProgramAreaClear Command code: Program area clear
	CommandCodeProgramAreaClear uint16 = 0x0303

	// CommandCodeRun Command code: Set operating mode to run
	CommandCodeRun uint16 = 0x0401

	// CommandCodeStop Command code: Set operating mode to stop
	CommandCodeStop uint16 = 0x0402

	// CommandCodeCPUUnitDataRead Command code: CPU unit data read
	CommandCodeCPUUnitDataRead uint16 = 0x0501

	// CommandCodeConnectionDataRead Command code: connection data read
	CommandCodeConnectionDataRead uint16 = 0x0502

	// CommandCodeCPUUnitStatusRead Command code: CPU unit status read
	CommandCodeCPUUnitStatusRead uint16 = 0x0601

	// CommandCodeCycleTimeRead Command code: cycle time read
	CommandCodeCycleTimeRead uint16 = 0x0620

	// CommandCodeClockRead Command code: clock read
	CommandCodeClockRead uint16 = 0x701

	// CommandCodeClockWrite Command code: clock write
	CommandCodeClockWrite uint16 = 0x702

	// CommandCodeMessageReadClear Command code: message read/clear
	CommandCodeMessageReadClear uint16 = 0x0920

	// CommandCodeAccessRightAcquire Command code: access right acquire
	CommandCodeAccessRightAcquire uint16 = 0x0c01

	// CommandCodeAccessRightForcedAcquire Command code: accress right forced acquire
	CommandCodeAccessRightForcedAcquire uint16 = 0x0c02

	// CommandCodeAccessRightRelease Command code: access right release
	CommandCodeAccessRightRelease uint16 = 0x0c03

	// CommandCodeErrorClear Command code: error clear
	CommandCodeErrorClear uint16 = 0x2101

	// CommandCodeErrorLogRead Command code: error log read
	CommandCodeErrorLogRead uint16 = 0x2102

	// CommandCodeErrorLogClear Command code: error log clear
	CommandCodeErrorLogClear uint16 = 0x2103

	// CommandCodeFINSWriteAccessLogRead Command code: FINS write access log read
	CommandCodeFINSWriteAccessLogRead uint16 = 0x2140

	// CommandCodeFINSWriteAccessLogWrite Command code: FINS write access log write
	CommandCodeFINSWriteAccessLogWrite uint16 = 0x2141

	// CommandCodeFileNameRead Command code: file name read
	CommandCodeFileNameRead uint16 = 0x2101

	// CommandCodeSingleFileRead Command code: file read
	CommandCodeSingleFileRead uint16 = 0x2102

	// CommandCodeSingleFileWrite Command code: file write
	CommandCodeSingleFileWrite uint16 = 0x2103

	// CommandCodeFileMemoryFormat Command code: file memory format
	CommandCodeFileMemoryFormat uint16 = 0x2104

	// CommandCodeFileDelete Command code: file delete
	CommandCodeFileDelete uint16 = 0x2105

	// CommandCodeFileCopy Command code: file copy
	CommandCodeFileCopy uint16 = 0x2107

	// CommandCodeFileNameChange Command code: file name change
	CommandCodeFileNameChange uint16 = 0x2108

	// CommandCodeMemoryAreaFileTransfer Command code: memory area file transfer
	CommandCodeMemoryAreaFileTransfer uint16 = 0x210a

	// CommandCodeParameterAreaFileTransfer Command code: parameter area file transfer
	CommandCodeParameterAreaFileTransfer uint16 = 0x210b

	// CommandCodeProgramAreaFileTransfer Command code: program area file transfer
	CommandCodeProgramAreaFileTransfer uint16 = 0x210b

	// CommandCodeDirectoryCreateDelete Command code: directory create/delete
	CommandCodeDirectoryCreateDelete uint16 = 0x2115

	// CommandCodeMemoryCassetteTransfer Command code: memory cassette transfer (CP1H and CP1L CPU units only)
	CommandCodeMemoryCassetteTransfer uint16 = 0x2120

	// CommandCodeForcedSetReset Command code: forced set/reset
	CommandCodeForcedSetReset uint16 = 0x2301

	// CommandCodeForcedSetResetCancel Command code: forced set/reset cancel
	CommandCodeForcedSetResetCancel uint16 = 0x2302

	// CommandCodeConvertToCompoWayFCommand Command code: convert to CompoWay/F command
	CommandCodeConvertToCompoWayFCommand uint16 = 0x2803

	// CommandCodeConvertToModbusRTUCommand Command code: convert to Modbus-RTU command
	CommandCodeConvertToModbusRTUCommand uint16 = 0x2804

	// CommandCodeConvertToModbusASCIICommand Command code: convert to Modbus-ASCII command
	CommandCodeConvertToModbusASCIICommand uint16 = 0x2805
)
View Source
const (
	// EndCodeNormalCompletion End code: normal completion
	EndCodeNormalCompletion uint16 = 0x0000

	// EndCodeServiceInterrupted End code: normal completion; service was interrupted
	EndCodeServiceInterrupted uint16 = 0x0001

	// EndCodeLocalNodeNotInNetwork End code: local node error; local node not in network
	EndCodeLocalNodeNotInNetwork uint16 = 0x0101

	// EndCodeTokenTimeout End code: local node error; token timeout
	EndCodeTokenTimeout uint16 = 0x0102

	// EndCodeRetriesFailed End code: local node error; retries failed
	EndCodeRetriesFailed uint16 = 0x0103

	// EndCodeTooManySendFrames End code: local node error; too many send frames
	EndCodeTooManySendFrames uint16 = 0x0104

	// EndCodeNodeAddressRangeError End code: local node error; node address range error
	EndCodeNodeAddressRangeError uint16 = 0x0105

	// EndCodeNodeAddressRangeDuplication End code: local node error; node address range duplication
	EndCodeNodeAddressRangeDuplication uint16 = 0x0106

	// EndCodeDestinationNodeNotInNetwork End code: destination node error; destination node not in network
	EndCodeDestinationNodeNotInNetwork uint16 = 0x0201

	// EndCodeUnitMissing End code: destination node error; unit missing
	EndCodeUnitMissing uint16 = 0x0202

	// EndCodeThirdNodeMissing End code: destination node error; third node missing
	EndCodeThirdNodeMissing uint16 = 0x0203

	// EndCodeDestinationNodeBusy End code: destination node error; destination node busy
	EndCodeDestinationNodeBusy uint16 = 0x0204

	// EndCodeResponseTimeout End code: destination node error; response timeout
	EndCodeResponseTimeout uint16 = 0x0205

	// EndCodeCommunicationsControllerError End code: controller error; communication controller error
	EndCodeCommunicationsControllerError uint16 = 0x0301

	// EndCodeCPUUnitError End code: controller error; CPU unit error
	EndCodeCPUUnitError uint16 = 0x0302

	// EndCodeControllerError End code:  controller error; controller error
	EndCodeControllerError uint16 = 0x0303

	// EndCodeUnitNumberError End code: controller error; unit number error
	EndCodeUnitNumberError uint16 = 0x0304

	// EndCodeUndefinedCommand End code: service unsupported; undefined command
	EndCodeUndefinedCommand uint16 = 0x0401

	// EndCodeNotSupportedByModelVersion End code: service unsupported; not supported by model version
	EndCodeNotSupportedByModelVersion uint16 = 0x0402

	// EndCodeDestinationAddressSettingError End code: routing table error; destination address setting error
	EndCodeDestinationAddressSettingError uint16 = 0x0501

	// EndCodeNoRoutingTables End code: routing table error; no routing tables
	EndCodeNoRoutingTables uint16 = 0x0502

	// EndCodeRoutingTableError End code: routing table error; routing table error
	EndCodeRoutingTableError uint16 = 0x0503

	// EndCodeTooManyRelays End code: routing table error; too many relays
	EndCodeTooManyRelays uint16 = 0x0504

	// EndCodeCommandTooLong End code: command format error; command too long
	EndCodeCommandTooLong uint16 = 0x1001

	// EndCodeCommandTooShort End code: command format error; command too short
	EndCodeCommandTooShort uint16 = 0x1002

	// EndCodeElementsDataDontMatch End code: command format error; elements/data don't match
	EndCodeElementsDataDontMatch uint16 = 0x1003

	// EndCodeCommandFormatError End code: command format error; command format error
	EndCodeCommandFormatError uint16 = 0x1004

	// EndCodeHeaderError End code: command format error; header error
	EndCodeHeaderError uint16 = 0x1005

	// EndCodeAreaClassificationMissing End code: parameter error; classification missing
	EndCodeAreaClassificationMissing uint16 = 0x1101

	// EndCodeAccessSizeError End code: parameter error; access size error
	EndCodeAccessSizeError uint16 = 0x1102

	// EndCodeAddressRangeError End code: parameter error; address range error
	EndCodeAddressRangeError uint16 = 0x1103

	// EndCodeAddressRangeExceeded End code: parameter error; address range exceeded
	EndCodeAddressRangeExceeded uint16 = 0x1104

	// EndCodeProgramMissing End code: parameter error; program missing
	EndCodeProgramMissing uint16 = 0x1106

	// EndCodeRelationalError End code: parameter error; relational error
	EndCodeRelationalError uint16 = 0x1109

	// EndCodeDuplicateDataAccess End code: parameter error; duplicate data access
	EndCodeDuplicateDataAccess uint16 = 0x110a

	// EndCodeResponseTooBig End code: parameter error; response too big
	EndCodeResponseTooBig uint16 = 0x110b

	// EndCodeParameterError End code: parameter error
	EndCodeParameterError uint16 = 0x110c

	// EndCodeReadNotPossibleProtected End code: read not possible; protected
	EndCodeReadNotPossibleProtected uint16 = 0x2002

	// EndCodeReadNotPossibleTableMissing End code: read not possible; table missing
	EndCodeReadNotPossibleTableMissing uint16 = 0x2003

	// EndCodeReadNotPossibleDataMissing End code: read not possible; data missing
	EndCodeReadNotPossibleDataMissing uint16 = 0x2004

	// EndCodeReadNotPossibleProgramMissing End code: read not possible; program missing
	EndCodeReadNotPossibleProgramMissing uint16 = 0x2005

	// EndCodeReadNotPossibleFileMissing End code: read not possible; file missing
	EndCodeReadNotPossibleFileMissing uint16 = 0x2006

	// EndCodeReadNotPossibleDataMismatch End code: read not possible; data mismatch
	EndCodeReadNotPossibleDataMismatch uint16 = 0x2007

	// EndCodeWriteNotPossibleReadOnly End code: write not possible; read only
	EndCodeWriteNotPossibleReadOnly uint16 = 0x2101

	// EndCodeWriteNotPossibleProtected End code: write not possible; write protected
	EndCodeWriteNotPossibleProtected uint16 = 0x2102

	// EndCodeWriteNotPossibleCannotRegister End code: write not possible; cannot register
	EndCodeWriteNotPossibleCannotRegister uint16 = 0x2103

	// EndCodeWriteNotPossibleProgramMissing End code: write not possible; program missing
	EndCodeWriteNotPossibleProgramMissing uint16 = 0x2105

	// EndCodeWriteNotPossibleFileMissing End code: write not possible; file missing
	EndCodeWriteNotPossibleFileMissing uint16 = 0x2106

	// EndCodeWriteNotPossibleFileNameAlreadyExists End code: write not possible; file name already exists
	EndCodeWriteNotPossibleFileNameAlreadyExists uint16 = 0x2107

	// EndCodeWriteNotPossibleCannotChange End code: write not possible; cannot change
	EndCodeWriteNotPossibleCannotChange uint16 = 0x2108

	// EndCodeNotExecutableInCurrentModeNotPossibleDuringExecution End code: not executeable in current mode during execution
	EndCodeNotExecutableInCurrentModeNotPossibleDuringExecution uint16 = 0x2201

	// EndCodeNotExecutableInCurrentModeNotPossibleWhileRunning End code: not executeable in current mode while running
	EndCodeNotExecutableInCurrentModeNotPossibleWhileRunning uint16 = 0x2202

	// EndCodeNotExecutableInCurrentModeWrongPLCModeInProgram End code: not executeable in current mode; PLC is in PROGRAM mode
	EndCodeNotExecutableInCurrentModeWrongPLCModeInProgram uint16 = 0x2203

	// EndCodeNotExecutableInCurrentModeWrongPLCModeInDebug End code: not executeable in current mode; PLC is in DEBUG mode
	EndCodeNotExecutableInCurrentModeWrongPLCModeInDebug uint16 = 0x2204

	// EndCodeNotExecutableInCurrentModeWrongPLCModeInMonitor End code: not executeable in current mode; PLC is in MONITOR mode
	EndCodeNotExecutableInCurrentModeWrongPLCModeInMonitor uint16 = 0x2205

	// EndCodeNotExecutableInCurrentModeWrongPLCModeInRun End code: not executeable in current mode; PLC is in RUN mode
	EndCodeNotExecutableInCurrentModeWrongPLCModeInRun uint16 = 0x2206

	// EndCodeNotExecutableInCurrentModeSpecifiedNodeNotPollingNode End code: not executeable in current mode; specified node is not polling node
	EndCodeNotExecutableInCurrentModeSpecifiedNodeNotPollingNode uint16 = 0x2207

	// EndCodeNotExecutableInCurrentModeStepCannotBeExecuted End code: not executeable in current mode; step cannot be executed
	EndCodeNotExecutableInCurrentModeStepCannotBeExecuted uint16 = 0x2208

	// EndCodeNoSuchDeviceFileDeviceMissing End code: no such device; file device missing
	EndCodeNoSuchDeviceFileDeviceMissing uint16 = 0x2301

	// EndCodeNoSuchDeviceMemoryMissing End code: no such device; memory missing
	EndCodeNoSuchDeviceMemoryMissing uint16 = 0x2302

	// EndCodeNoSuchDeviceClockMissing End code: no such device; clock missing
	EndCodeNoSuchDeviceClockMissing uint16 = 0x2303

	// EndCodeCannotStartStopTableMissing End code: cannot start/stop; table missing
	EndCodeCannotStartStopTableMissing uint16 = 0x2401

	// EndCodeUnitErrorMemoryError End code: unit error; memory error
	EndCodeUnitErrorMemoryError uint16 = 0x2502

	// EndCodeUnitErrorIOError End code: unit error; IO error
	EndCodeUnitErrorIOError uint16 = 0x2503

	// EndCodeUnitErrorTooManyIOPoints End code: unit error; too many IO points
	EndCodeUnitErrorTooManyIOPoints uint16 = 0x2504

	// EndCodeUnitErrorCPUBusError End code: unit error; CPU bus error
	EndCodeUnitErrorCPUBusError uint16 = 0x2505

	// EndCodeUnitErrorIODuplication End code: unit error; IO duplication
	EndCodeUnitErrorIODuplication uint16 = 0x2506

	// EndCodeUnitErrorIOBusError End code: unit error; IO bus error
	EndCodeUnitErrorIOBusError uint16 = 0x2507

	// EndCodeUnitErrorSYSMACBUS2Error End code: unit error; SYSMAC BUS/2 error
	EndCodeUnitErrorSYSMACBUS2Error uint16 = 0x2509

	// EndCodeUnitErrorCPUBusUnitError End code: unit error; CPU bus unit error
	EndCodeUnitErrorCPUBusUnitError uint16 = 0x250a

	// EndCodeUnitErrorSYSMACBusNumberDuplication End code: unit error; SYSMAC bus number duplication
	EndCodeUnitErrorSYSMACBusNumberDuplication uint16 = 0x250d

	// EndCodeUnitErrorMemoryStatusError End code: unit error; memory status error
	EndCodeUnitErrorMemoryStatusError uint16 = 0x250f

	// EndCodeUnitErrorSYSMACBusTerminatorMissing End code: unit error; SYSMAC bus terminator missing
	EndCodeUnitErrorSYSMACBusTerminatorMissing uint16 = 0x2510

	// EndCodeCommandErrorNoProtection End code: command error; no protection
	EndCodeCommandErrorNoProtection uint16 = 0x2601

	// EndCodeCommandErrorIncorrectPassword End code: command error; incorrect password
	EndCodeCommandErrorIncorrectPassword uint16 = 0x2602

	// EndCodeCommandErrorProtected End code: command error; protected
	EndCodeCommandErrorProtected uint16 = 0x2604

	// EndCodeCommandErrorServiceAlreadyExecuting End code: command error; service already executing
	EndCodeCommandErrorServiceAlreadyExecuting uint16 = 0x2605

	// EndCodeCommandErrorServiceStopped End code: command error; service stopped
	EndCodeCommandErrorServiceStopped uint16 = 0x2606

	// EndCodeCommandErrorNoExecutionRight End code: command error; no execution right
	EndCodeCommandErrorNoExecutionRight uint16 = 0x2607

	// EndCodeCommandErrorSettingsNotComplete End code: command error; settings not complete
	EndCodeCommandErrorSettingsNotComplete uint16 = 0x2608

	// EndCodeCommandErrorNecessaryItemsNotSet End code: command error; necessary items not set
	EndCodeCommandErrorNecessaryItemsNotSet uint16 = 0x2609

	// EndCodeCommandErrorNumberAlreadyDefined End code: command error; number already defined
	EndCodeCommandErrorNumberAlreadyDefined uint16 = 0x260a

	// EndCodeCommandErrorErrorWillNotClear End code: command error; error will not clear
	EndCodeCommandErrorErrorWillNotClear uint16 = 0x260b

	// EndCodeAccessWriteErrorNoAccessRight End code: access write error; no access right
	EndCodeAccessWriteErrorNoAccessRight uint16 = 0x3001

	// EndCodeAbortServiceAborted End code: abort; service aborted
	EndCodeAbortServiceAborted uint16 = 0x4001
)

Data taken from Omron document Cat. No. W342-E1-15, pages 155-161

View Source
const (
	// MessageTypeCommand Command message type
	MessageTypeCommand uint8 = iota

	// MessageTypeResponse Response message type
	MessageTypeResponse uint8 = iota
)
View Source
const (
	// MemoryAreaCIOBit Memory area: CIO area; bit
	MemoryAreaCIOBit byte = 0x30

	// MemoryAreaWRBit Memory area: work area; bit
	MemoryAreaWRBit byte = 0x31

	// MemoryAreaHRBit Memory area: holding area; bit
	MemoryAreaHRBit byte = 0x32

	// MemoryAreaARBit Memory area: axuillary area; bit
	MemoryAreaARBit byte = 0x33

	// MemoryAreaCIOWord Memory area: CIO area; word
	MemoryAreaCIOWord byte = 0xb0

	// MemoryAreaWRWord Memory area: work area; word
	MemoryAreaWRWord byte = 0xb1

	// MemoryAreaHRWord Memory area: holding area; word
	MemoryAreaHRWord byte = 0xb2

	// MemoryAreaARWord Memory area: auxillary area; word
	MemoryAreaARWord byte = 0xb3

	// MemoryAreaTimerCounterCompletionFlag Memory area: counter completion flag
	MemoryAreaTimerCounterCompletionFlag byte = 0x09

	// MemoryAreaTimerCounterPV Memory area: counter PV
	MemoryAreaTimerCounterPV byte = 0x89

	// MemoryAreaDMBit Memory area: data area; bit
	MemoryAreaDMBit byte = 0x02

	// MemoryAreaDMWord Memory area: data area; word
	MemoryAreaDMWord byte = 0x82

	// MemoryAreaTaskBit Memory area: task flags; bit
	MemoryAreaTaskBit byte = 0x06

	// MemoryAreaTaskStatus Memory area: task flags; status
	MemoryAreaTaskStatus byte = 0x46

	// MemoryAreaIndexRegisterPV Memory area: CIO bit
	MemoryAreaIndexRegisterPV byte = 0xdc

	// MemoryAreaDataRegisterPV Memory area: CIO bit
	MemoryAreaDataRegisterPV byte = 0xbc

	// MemoryAreaClockPulsesConditionFlagsBit Memory area: CIO bit
	MemoryAreaClockPulsesConditionFlagsBit byte = 0x07
)
View Source
const DEFAULT_RESPONSE_TIMEOUT = 300 // ms
View Source
const DM_AREA_SIZE = 32768

Variables

This section is empty.

Functions

This section is empty.

Types

type Address

type Address struct {
	// contains filtered or unexported fields
}

Address A full device address

func NewAddress

func NewAddress(ip string, port int, network, node, unit byte) Address

type BCDBadDigitError

type BCDBadDigitError struct {
	// contains filtered or unexported fields
}

func (BCDBadDigitError) Error

func (e BCDBadDigitError) Error() string

type BCDOverflowError

type BCDOverflowError struct{}

func (BCDOverflowError) Error

func (e BCDOverflowError) Error() string

type Client

type Client struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Client Omron FINS client

func NewClient

func NewClient(localAddr, plcAddr Address) (*Client, error)

NewClient creates a new Omron FINS client

func (*Client) Close

func (c *Client) Close()

Close Closes an Omron FINS connection

func (*Client) ReadBits

func (c *Client) ReadBits(memoryArea byte, address uint16, bitOffset byte, readCount uint16) ([]bool, error)

ReadBits Reads bits from the PLC data area

func (*Client) ReadBytes

func (c *Client) ReadBytes(memoryArea byte, address uint16, readCount uint16) ([]byte, error)

ReadBytes Reads bytes from the PLC data area

func (*Client) ReadClock

func (c *Client) ReadClock() (*time.Time, error)

ReadClock Reads the PLC clock

func (*Client) ReadString

func (c *Client) ReadString(memoryArea byte, address uint16, readCount uint16) (string, error)

ReadString Reads a string from the PLC data area

func (*Client) ReadWords

func (c *Client) ReadWords(memoryArea byte, address uint16, readCount uint16) ([]uint16, error)

ReadWords Reads words from the PLC data area

func (*Client) ResetBit

func (c *Client) ResetBit(memoryArea byte, address uint16, bitOffset byte) error

ResetBit Resets a bit in the PLC data area

func (*Client) SetBit

func (c *Client) SetBit(memoryArea byte, address uint16, bitOffset byte) error

SetBit Sets a bit in the PLC data area

func (*Client) SetByteOrder

func (c *Client) SetByteOrder(o binary.ByteOrder)

Set byte order Default value: binary.BigEndian

func (*Client) SetTimeoutMs

func (c *Client) SetTimeoutMs(t uint)

Set response timeout duration (ms). Default value: 20ms. A timeout of zero can be used to block indefinitely.

func (*Client) ToggleBit

func (c *Client) ToggleBit(memoryArea byte, address uint16, bitOffset byte) error

ToggleBit Toggles a bit in the PLC data area

func (*Client) WriteBits

func (c *Client) WriteBits(memoryArea byte, address uint16, bitOffset byte, data []bool) error

WriteBits Writes bits to the PLC data area

func (*Client) WriteBytes

func (c *Client) WriteBytes(memoryArea byte, address uint16, b []byte) error

WriteBytes Writes bytes array to the PLC data area

func (*Client) WriteString

func (c *Client) WriteString(memoryArea byte, address uint16, s string) error

WriteString Writes a string to the PLC data area

func (*Client) WriteWords

func (c *Client) WriteWords(memoryArea byte, address uint16, data []uint16) error

WriteWords Writes words to the PLC data area

type Header struct {
	// contains filtered or unexported fields
}

Header A FINS frame header

type IncompatibleMemoryAreaError

type IncompatibleMemoryAreaError struct {
	// contains filtered or unexported fields
}

func (IncompatibleMemoryAreaError) Error

type ResponseTimeoutError

type ResponseTimeoutError struct {
	// contains filtered or unexported fields
}

func (ResponseTimeoutError) Error

func (e ResponseTimeoutError) Error() string

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server Omron FINS server (PLC emulator)

func NewPLCSimulator

func NewPLCSimulator(plcAddr Address) (*Server, error)

func (*Server) Close

func (s *Server) Close()

Close Closes the FINS server

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL