You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the Issue
When trying to acquire images, and executing a Software Trigger to do that, we observe the following error that there is a communication error. This is likely due to the parameter 'TriggerReady' constantly being set to 'False'. Following the documentation provided by KEYENCE, this parameter should be set to 'True' after triggering AcquisitionStart, but using debug commands it shows that it does not get set to 'True' afterwards.
To Reproduce
Steps to reproduce the behavior:
Execute the provided code in Python
See error
Sample Code
I can show a piece of code that demonstrates the reported phenomenon:
If applicable, please paste the actual output (its whole traceback, etc) here:
>>> ia.remote_device.node_map.TriggerSoftware.execute()
Traceback (most recent call last):
File "test.py", line 37, in <module>
ia.remote_device.node_map.TriggerSoftware.execute()
File "/home/ubuntu/.local/lib/python3.8/site-packages/genicam/genapi.py", line 2796, in execute
return _genapi.ICommand_execute(self, Verify)
File "/home/ubuntu/.local/lib/python3.8/site-packages/harvesters/_private/core/port.py", line 54, in write
self.port.write(address, value)
File "/home/ubuntu/.local/lib/python3.8/site-packages/genicam/gentl.py", line 5016, in write
return _gentl.Port_write(self, address, buffer)
_gentl.IoException: GenTL exception: Communication error, read or write to remote device failed. (Message from the source: Could not write data to 0xa214(4 bytes). Status: GEV_STATUS_ERROR.
) (ID: -1010)
Expected Behavior
I expect the trigger command to be executed without error so that in parallel filled image buffers can be retrieved.
Screenshots
Configuration
OS: Ubuntu 20.04.6 LTS
Python: 3.8.10
Harvester: 1.4.2
GenTL Producer: mvGenTL Acquire 2.50.1
Camera: KEYENCE CA-H048MXC with KEYENCE VJ-3000 processing unit
Reproducibility
This phenomenon can be stably reproduced:
Yes
No.
If applicable, please provide your observation about the reproducibility.
Additional context
When trying to fetch a buffer filled with an image like in the tutorial, only a timeout is happening. So my understanding is, that for a buffer to be filled, first the image acquisition needs to be triggered (be it a hardware or a software trigger). In my use case I can only use a software trigger, which is the reason this error occurs.
The text was updated successfully, but these errors were encountered:
Maybe there is a small adaption in your provided script required. Unfortunately I don't have the Camera which you are using. But usually the setup and run sequence looks like the following:
# snip...
camera = h.create(0)
camera.remote_device.node_map.TriggerSelector.value = 'FrameStart'
camera.remote_device.node_map.TriggerSource.value = 'Software'
camera.remote_device.node_map.TriggerMode.value = 'On'
camera.start()
camera.remote_device.node_map.TriggerSoftware.execute()
with camera.fetch(timeout=1000) as buffer:
component = buffer.payload.components[0]
print(f"Width: {component.width}")
print(f"Height: {component.height}")
camera.stop()
# snip...
There are two main points:
The feature TriggerSource has an selector TriggerSelector according to the GenICam standard which has to be configured as well.
The acquisition engine on the device and on the computer must be started. This is done with camera.start(). It is possible that a software trigger is rejected when the device is not in the acquisition mode.
Describe the Issue
When trying to acquire images, and executing a Software Trigger to do that, we observe the following error that there is a communication error. This is likely due to the parameter 'TriggerReady' constantly being set to 'False'. Following the documentation provided by KEYENCE, this parameter should be set to 'True' after triggering AcquisitionStart, but using debug commands it shows that it does not get set to 'True' afterwards.
To Reproduce
Steps to reproduce the behavior:
Sample Code
I can show a piece of code that demonstrates the reported phenomenon:
If yes, please provide a sample code:
If applicable, please paste the actual output (its whole traceback, etc) here:
Expected Behavior
I expect the trigger command to be executed without error so that in parallel filled image buffers can be retrieved.
Screenshots
Configuration
Reproducibility
This phenomenon can be stably reproduced:
If applicable, please provide your observation about the reproducibility.
Actions You Have Taken
Additional context
When trying to fetch a buffer filled with an image like in the tutorial, only a timeout is happening. So my understanding is, that for a buffer to be filled, first the image acquisition needs to be triggered (be it a hardware or a software trigger). In my use case I can only use a software trigger, which is the reason this error occurs.
The text was updated successfully, but these errors were encountered: