Simulink IO enabled error on Arduino Uno
Show older comments
I am trying to use the Simulink IO enabled feature in MATLAB 2018a. The platform is an Arduino Uno. Even with the simplest example, for instance trying to read from pin 4 and displaying it I get an error although simulation mode works fine without IO enabled, and when I load the program onto the hardware it also works fine. Here is error that I see when I enable Simulink IO:
MATLAB System block 'blink2/Digital Input/Digital Input' error occurred when invoking 'setupImpl' method of 'codertarget.arduinobase.blocks.DigitalRead'. The error was thrown from '
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\+transport\TransportLayerAbstract.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\IOProtocol.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\IOProtocol.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\+peripherals\DigitalIO.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\supportpackages\arduinobase\+codertarget\+arduinobase\+blocks\DigitalRead.p' at line 0'.
Caused by:
Transport layer object is corrupted. Try fclose(instrfind) and delete(instrfind) and then create a new hardware object
3 Comments
Kaninika Pant
on 31 May 2018
Did you try fclose(instrfind) and delete(instrfind)? That should work.
Alex Kuzmichev
on 6 Jul 2018
Edited: Walter Roberson
on 7 Jul 2018
I am trying run arduino_communication in normal mode with Simulink and I get same error:
MATLAB System block 'arduino_communication/Digital Output/Digital Output' error occurred when invoking 'setupImpl' method of 'codertarget.arduinobase.blocks.DigitalWrite'. The error was thrown from '
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\+transport\TransportLayerAbstract.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\IOProtocol.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\IOProtocol.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\+peripherals\DigitalIO.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\supportpackages\arduinobase\+codertarget\+arduinobase\+blocks\DigitalWrite.p' at line 0'.
*Caused by:
Transport layer object is corrupted.* Try fclose(instrfind) and delete(instrfind) and then create a new hardware object
After
fclose(instrfind)
delete(instrfind)
I get
...
*Caused by:
Instrument object OBJ is an invalid object.*
Claudio Eduardo Santiago
on 30 Jun 2019
Eu tive o mesmo problema. Não consegui comunicação.
Accepted Answer
More Answers (6)
Marc Fuller
on 31 May 2018
0 votes
Kaninika Pant
on 1 Jun 2018
0 votes
Try clearing the workspace. Try clear all, clear classes. Also try disconnecting the board and reconnecting it once.
Steffen Hartmann
on 30 Oct 2018
0 votes
Hello, have the same problem here. Was it really the "incompatible" uno-board?
Kadir Tolga Dogukanli
on 26 Dec 2018
I have the same errors. Did you solve the problem?
MATLAB System block 'sondeneme/I2C Read' error occurred when invoking 'setupImpl' method of 'codertarget.arduinobase.internal.arduinoI2CRead'. The error was thrown from '
'C:\ProgramData\MATLAB\SupportPackages\R2018b\toolbox\target\shared\ioserver\+matlabshared\+ioclient\+transport\TransportLayerAbstract.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018b\toolbox\target\shared\ioserver\+matlabshared\+ioclient\IOProtocol.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018b\toolbox\target\shared\ioserver\+matlabshared\+ioclient\IOProtocol.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018b\toolbox\target\shared\ioserver\+matlabshared\+ioclient\+peripherals\I2C.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018b\toolbox\target\supportpackages\arduinobase\+codertarget\+arduinobase\+internal\arduinoI2CRead.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018b\toolbox\target\shared\svd\+matlabshared\+svd\I2CBlock.p' at line 0'.
Caused by:
Transport layer object is corrupted. Clear and recreate the hardware object
Component:Simulink | Category:Block error
Jussi Savola
on 9 Apr 2019
Edited: Jussi Savola
on 9 Apr 2019
Me too.
I'm trying to read data from A4, then do some fancy stuff with FFT and then light up a led in D10.
I'm using Matlab 2018A with Arduino (Elegoo) Mega 2560
Simulation 1 Clear
01:55 AM Elapsed: 28 sec
MATLAB System block 'blinker_a/Analog Input' error occurred when invoking 'setupImpl' method of 'codertarget.arduinobase.internal.arduino_AnalogInput'. The error was thrown from '
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\+transport\TransportLayerAbstract.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\IOProtocol.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\IOProtocol.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\ioserver\+matlabshared\+ioclient\+peripherals\AnalogInput.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\supportpackages\arduinobase\+codertarget\+arduinobase\+internal\arduino_AnalogInput.p' at line 0
'C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\target\shared\svd\+matlabshared\+svd\AnalogInSingle.p' at line 0'.
Caused by:
Transport layer object is corrupted. Try fclose(instrfind) and delete(instrfind) and then create a new hardware object
Edit: It seems that disabling Simulink I/O made the error go away. Go figure.
Lokendra Samba
on 14 Jun 2020
0 votes
go to this thread, you may find solution!!
https://de.mathworks.com/matlabcentral/answers/351957-do-simulink-deploy-to-hardware-and-external-modes-work-with-arduino-uno-clones
i have same problem, but changing 'BaudRate' help me solve problem. now it works for all mode for me.
Categories
Find more on Arduino Hardware in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!