PDA

View Full Version : MCP turns off or showing errors



slupek
07-07-2008, 04:14 PM
Hi everyone, this is my first post on this forum. Nice to meet all of You!

I am user of OC MCP for almost one year. Everything was fine, but for just two weeks I am having strange problem: MCP turns off during the flight. I have to reload script or just switch somethning by mouse manually - then sometimes it comes back fo a while. But sometimes I see something like that:

http://www.cat.przestrzen.pl/CSB/upload_files/kok_pg2008s.jpg (www.cat.przestrzen.pl/CSB/upload_files/kok_pg2008.JPG)

It no matters if it is conected and powered by motherboard, powered-hub or powered itself directly from adaptor, SIOC 3.41 or 3.5 either.

Please help!

Thx.

kiek
07-07-2008, 05:36 PM
Hi,

Which aircraft are you controlling with this MCP? and with what SIOC script?

Nico

slupek
07-07-2008, 06:36 PM
I use only freeware models, for example IFDG A320, MD11 and so on. Sometimes everything is ok for 20hrs of flight, sometimes it is not possible to fly at all. Here is my script (little moded for my cockpit):


// *****************************************************************************
// * Config_SIOC ver 3.5 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : sioc.txt
// * Date : 2008-07-08



Var 0000, Value 0 // Inicializa / Inicialization
{
&CONTADOR = 0
&CHECK = TIMER 999 ,0 ,25
&CMD = 1
&D_COURSE1 = 360
&D_COURSE2 = 360
&D_HDG = 360
&D_ALT = 4000
&D_VS = 0
&T_IAS = 140
&AP_IAS = 1
&AP_IAS = DELAY 0 ,10
&RO_QNH = 50000
}

Var 0001, name AP_MASTER_SW, Link FSUIPC_INOUT, Offset $07BC, Length 4
{
IF &CMD = 1
{
IF &AP_MASTER_SW = 1
{
&O_CMDA = 1
&O_CMDB = 0
}
ELSE
{
&O_CMDA = 0
&O_CMDB = 0
}
}
ELSE
{
IF &AP_MASTER_SW = 1
{
&O_CMDA = 0
&O_CMDB = 1
}
ELSE
{
&O_CMDA = 0
&O_CMDB = 0
}
}
}

Var 0002, Link FSUIPC_INOUT, Offset $07C0, Length 4 // AP_LVL

Var 0003, Link FSUIPC_INOUT, Offset $07C4, Length 4 // AP_NAV1
{
IF V0003 = 1
{
&O_LNAV = 1
}
ELSE
{
&O_LNAV = 0
}
}

Var 0004, Link FSUIPC_INOUT, Offset $07C8, Length 4 // AP_HDG_SEL
{
IF V0004 = 1
{
&O_HDGSEL = 1
}
ELSE
{
&O_HDGSEL = 0
}
}

Var 0005, name APD_HDG, Link FSUIPC_INOUT, Offset $07CC, Length 2 // APD_HDG

Var 0006, name AP_ALT, Link FSUIPC_INOUT, Offset $07D0, Length 4 // AP_ALT
{
IF &AP_ALT = 1
{
&O_VS = 1
}
ELSE
{
&O_VS = 0
}
}

Var 0007, name AP_IAS, Link FSUIPC_INOUT, Offset $07DC, Length 4 // AP_IAS
{
IF &AP_IAS = 1
{
&SPEED = 1
&O_SPEED = 1
&F_IAS = &T_IAS
}
ELSE
{
IF &AP_MACH = 0
{
&O_SPEED = 0
}
}
}

Var 0008, name APD_IAS, Link FSUIPC_INOUT, Offset $07E2, Length 2 // D_IAS

Var 0009, name APD_ALT, Link FSUIPC_INOUT, Offset $07D4, Length 4 // APD_ALT

Var 0011, name AP_MACH, Link FSUIPC_INOUT, Offset $07E4, Length 4 // AP_MACH
{
IF &AP_MACH = 1
{
&SPEED = 2
&O_SPEED = 1
}
ELSE
{
IF &AP_IAS = 0
{
&O_SPEED = 0
}
}
}

Var 0012, name APD_MACH, Link FSUIPC_INOUT, Offset $07E8, Length 4 // APD_MACH

Var 0013, Link FSUIPC_INOUT, Offset $3210, Length 2 // LOCALV_IAS/M

Var 0014, name APD_VS, Link FSUIPC_INOUT, Offset $07F2, Length 2, Type 1 // D_V/S

Var 0015, Link FSUIPC_INOUT, Offset $0810, Length 4 // AP_AT
{
IF V0015 = 1
{
&O_AT = 1
}
ELSE
{
&O_AT = 0
}
}

Var 0016, Link FSUIPC_INOUT, Offset $2EE0, Length 4 // AP_FD

Var 0017, Link FSUIPC_INOUT, Offset $07C4, Length 4 // AP_NAV

Var 0018, Link FSUIPC_INOUT, Offset $0800, Length 4 // AP_APP
{
IF V0018 = 1
{
&O_APP = 1
}
ELSE
{
&O_APP = 0
}
}

Var 0019, Link FSUIPC_INOUT, Offset $0804, Length 4 // AP_BC

Var 0020, Link FSUIPC_INOUT, Offset $0808, Length 4 // AP_YD

Var 0021, name APD_COURSE1, Link FSUIPC_INOUT, Offset $0C4E, Length 2 // APD_COURSE1

Var 0022, name APD_COURSE2, Link FSUIPC_INOUT, Offset $0C5E, Length 2 // APD_COURSE2

Var 0023, name FS_IAS, Link FSUIPC_IN, Offset $02BC, Length 4 // IAS FS

Var 0024, name FS_MACH, Link FSUIPC_IN, Offset $11C6, Length 2 // IAS FS

Var 0025, Link FSUIPC_INOUT, Offset $07FC, Length 4 // AP_APP2

Var 0050, name CMD
{
IF &CMD = 1
{
&O_CMDA = TESTBIT &AP_MASTER_SW ,0 // LED_AP_SW
}
ELSE
{
&O_CMDB = TESTBIT &AP_MASTER_SW ,0 // LED_AP_SW
}
}

Var 0051, name SPEED
{
IF &SPEED <> 2
{
&O_DECIMAL = 0
&F_IAS = &T_IAS
}
ELSE
{
&O_DECIMAL = 1
&F_IAS = &T_MACH
}
}

Var 0052, name T_IAS

Var 0053, name T_MACH

Var 0054, name F_IAS
{
IF &SPEED <> 2
{
&O_DECIMAL = 0
&D_IAS = &F_IAS
&APD_IAS = DELAY &F_IAS ,10
}
ELSE
{
&O_DECIMAL = 1
&D_IAS = &F_IAS
L0 = &F_IAS * 655.36
&APD_MACH = DELAY L0 ,10
}
}

Var 0056, name CHECK, Link SUBRUTINE
{
&CONTADOR = &CONTADOR + 1
IF &CONTADOR > 10000
{
&CONTADOR = 1000
}
ELSE
{
IF &CONTADOR > 4
{
IF &APD_VS <> &D_VS
{
&D_VS = &APD_VS
}
}
}
}

Var 0057, name CONTADOR

Var 0100, name D_COURSE1, Link IOCARD_DISPLAY, Digit 0, Numbers 3
{
&APD_COURSE1 = &D_COURSE1
}

Var 0102, name D_IAS, Link IOCARD_DISPLAY, Digit 3, Numbers 3

Var 0104, name D_HDG, Link IOCARD_DISPLAY, Digit 6, Numbers 3
{
L1 = &D_HDG * 182.04444
L0 = L1 + 1
&APD_HDG = L0
}

Var 0106, name D_ALT, Link IOCARD_DISPLAY, Digit 9, Numbers 5
{
L0 = &D_ALT * 19975.37
&APD_ALT = L0
}

Var 0108, name D_VS, Link IOCARD_DISPLAY, Digit 14, Numbers 5

Var 0110, name D_COURSE2, Link IOCARD_DISPLAY, Digit 19, Numbers 3
{
&APD_COURSE2 = &D_COURSE2
}

Var 0200, name O_DECIMAL, Link IOCARD_OUT, Output 20

Var 0202, name O_N1, Link IOCARD_OUT, Output 21

Var 0204, name O_AT, Link IOCARD_OUT, Output 22

Var 0206, name O_SPEED, Link IOCARD_OUT, Output 23

Var 0208, name O_LVLCHG, Link IOCARD_OUT, Output 24

Var 0210, name O_VNAV, Link IOCARD_OUT, Output 25

Var 0212, name O_HDGSEL, Link IOCARD_OUT, Output 26

Var 0214, name O_APP, Link IOCARD_OUT, Output 27

Var 0216, name O_VORLOC, Link IOCARD_OUT, Output 28

Var 0218, name O_LNAV, Link IOCARD_OUT, Output 29

Var 0220, name O_ALTHLD, Link IOCARD_OUT, Output 30

Var 0222, name O_VS, Link IOCARD_OUT, Output 31

Var 0224, name O_CWSA, Link IOCARD_OUT, Output 32

Var 0226, name O_CMDA, Link IOCARD_OUT, Output 33

Var 0228, name O_CWSB, Link IOCARD_OUT, Output 34

Var 0230, name O_CMDB, Link IOCARD_OUT, Output 35

Var 0300, name E_IAS, Link IOCARD_ENCODER, Input 0, Aceleration 4, Type 2
{
IF &SPEED <> 2
{
L0 = &E_IAS * -1
&T_IAS = LIMIT 0 ,360 ,L0
&F_IAS = &T_IAS
}
ELSE
{
L0 = &E_IAS * -1
&T_MACH = LIMIT 0 ,99 ,L0
&F_IAS = &T_MACH
}
}

Var 0302, name E_ALT, Link IOCARD_ENCODER, Input 2, Aceleration 4, Type 2
{
L0 = &E_ALT * -100
&D_ALT = LIMIT 0 ,50000 ,L0
}

Var 0304, name E_COURSE1, Link IOCARD_ENCODER, Input 4, Aceleration 4, Type 2
{
L0 = &E_COURSE1 * -1
&D_COURSE1 = ROTATE 1 ,360 ,L0
}

Var 0306, name E_HDG, Link IOCARD_ENCODER, Input 6, Aceleration 4, Type 2
{
L0 = &E_HDG * -1
&D_HDG = ROTATE 1 ,360 ,L0
}

Var 0308, name E_COURSE2, Link IOCARD_ENCODER, Input 9, Aceleration 4, Type 2
{
L0 = &E_COURSE2 * -1
&D_COURSE2 = ROTATE 1 ,360 ,L0
}

Var 0310, name E_VS, Link IOCARD_ENCODER, Input 11, Aceleration 4, Type 2
{
L0 = &E_VS * -100
&D_VS = LIMIT -9000 ,9000 ,L0
&CONTADOR = 0
&APD_VS = &D_VS
}

Var 0400, name I_CO, Link IOCARD_SW, Input 13, Type P
{
IF &O_SPEED = 1
{
IF &SPEED <> 0
{
IF &SPEED = 1
{
L0 = &FS_MACH / 204.8
&T_MACH = L0
&AP_MACH = 1
}
ELSE
{
L0 = &FS_IAS / 128
&T_IAS = L0
&AP_IAS = 1
}
}
}
}

Var 0402, name I_FD2, Link IOCARD_SW, Input 14

Var 0404, name I_DISENGAGE, Link IOCARD_SW, Input 15

Var 0406, name I_FD1, Link IOCARD_SW, Input 16
{
IF &I_FD1 = 1
{
V0016 = 1
}
ELSE
{
V0016 = 0
}
}

Var 0408, name I_CWSB, Link IOCARD_SW, Input 18

Var 0410, name I_CMDB, Link IOCARD_SW, Input 19
{
IF &I_CMDB = 1
{
&CMD = 2
IF &AP_MASTER_SW = 1
{
&AP_MASTER_SW = 0
}
ELSE
{
&AP_MASTER_SW = 1
}
}
}

Var 0412, name I_CWSA, Link IOCARD_SW, Input 20

Var 0414, name I_CMDA, Link IOCARD_SW, Input 21
{
IF &I_CMDA = 1
{
&CMD = 1
IF &AP_MASTER_SW = 1
{
&AP_MASTER_SW = 0
}
ELSE
{
&AP_MASTER_SW = 1
}
}
}

Var 0416, name I_VS, Link IOCARD_SW, Input 22
{
IF &I_VS = 1
{
IF &AP_ALT <> 1
{
&AP_ALT = 1
}
ELSE
{
&AP_ALT = 0
}
}
}

Var 0418, name I_ALTHLD, Link IOCARD_SW, Input 23

Var 0420, name I_APP, Link IOCARD_SW, Input 24
{
IF &I_APP = 1
{
IF V0018 <> 1
{
V0018 = 1
V0025 = 1
}
ELSE
{
V0018 = 0
V0025 = 0
}
}
}

Var 0422, name I_VORLOC, Link IOCARD_SW, Input 25

Var 0424, name I_LNAV, Link IOCARD_SW, Input 27
{
IF &I_LNAV = 1
{
IF V0017 <> 1
{
V0017 = 1
}
ELSE
{
V0017 = 0
}
}
}

Var 0426, name I_HDGSEL, Link IOCARD_SW, Input 28
{
IF &I_HDGSEL = 1
{
IF V0004 <> 1
{
V0004 = 1
}
ELSE
{
V0004 = 0
}
}
}

Var 0428, name I_LVLCHG, Link IOCARD_SW, Input 29

Var 0430, name I_VNAV, Link IOCARD_SW, Input 30

Var 0432, name I_SPEED, Link IOCARD_SW, Input 31
{
IF &I_SPEED = 1
{
IF &SPEED = 0
{
&AP_IAS = 1
}
ELSE
{
&AP_IAS = 0
&AP_MACH = 0
&SPEED = 0
}
}
}

Var 0434, name I_N1, Link IOCARD_SW, Input 32

Var 0436, name I_AT, Link IOCARD_SW, Input 33
{
IF &I_AT = 1
{
V0015 = 1
}
ELSE
{
V0015 = 0
}
}

Var 5230, name QNH

Var 5231, name QNH_p

Var 5238, name ResetFS
{
IF &ResetFS = 1
{
&FO_FSUIPC_C = 0
}
}

Var 5240, name RO_QNH, Link IOCARD_ENCODER, Input 9, Aceleration 1, Type 2
{
L0 = &RO_QNH
&QNH = ROTATE 0 ,100000 ,L0
IF &QNH > &QNH_p
{
&FO_FSUIPC_C = 65883 // FS Control Kohlsman increment
&ResetFS = 0
&ResetFS = TIMER 1 ,1 ,10
}
ELSE
{
IF &QNH < &QNH_p
{
&FO_FSUIPC_C = 65884 // FS Control Kohlsman decrement
&ResetFS = 0
&ResetFS = TIMER 1 ,1 ,10
}
}
&QNH_p = &QNH
}

Var 5298, name FO_FSUIPC_C, Link FSUIPC_OUT, Offset $3110, Length 4

Kennair
07-08-2008, 10:08 AM
Hi Slupek,

Unless you've changed something in the SIOC script recently I doubt that's the problem. If it's worked well for the past year and only now failing I would suspect a hardware problem within the MCP or perhaps a newly installed piece of software. Unfortunately intermittent hardware is more difficult to investigate than hardware that won't turn on at all.

Take out the MCP and visually inspect all soldering points and check for dry joints (i.e. soldered points that have come loose). Also check for burnt out resistors or poorly connected components. It could also be a failing IC. These are usually reasonably cheap and can be replaced however you need to establish which, if any, is faulty. You should be able to get a circuit diagram from OC which will help, however reading this depends upon your electronics skills.

It could also be linked to some other software running intermittently while flying. Shutdown all other services like Anti-virus software and see if anything changes.

It's tricky but you're going to have to do some careful investigating to track down your problem.

Good luck,

Ken.

slupek
07-08-2008, 10:19 AM
Thank You for answer Ken. So, I will make an investigation then, as you advise. First I'll try by software-side and will install SIOC and MCP on wife's notebook, then I'll see.

I'll let You know.

Regards.

Adrian

Kennair
07-08-2008, 10:22 AM
Adrian,

Have you also tried the MCP Test Program from OC? This might help track down any issues.

Ken.

slupek
07-08-2008, 10:23 AM
Adrian,

Have you also tried the MCP Test Program from OC?.

Not yet, but I'll try. Thx.

Sunday
07-08-2008, 04:03 PM
Mine would shut off every once in a while. I noticed a broken solder connection where the USB cable connected to the MCP's board. I guess as the MIP got warmer things would expand and break the connection.

drayton_k
10-24-2008, 09:14 AM
My MCP is doing the same thing . I have disabled all AV stuff etc and it seems like after roughly 1 hour the MCP switches off. I have to then reload the script and all is OK for another hour.
I am using the script by Nico Kaan for the LDS 767 and also the script for the 737 and the same happens with both.
I checked the USB settings in device manager as I thought maybe the power was being shut off to the hub, but that was not the case. The unit is only a couple months old, but my next check will be to open up the case and check the wiring etc.

EDIT..Latest...I have checked all connections etc. Nothing awry there. So this is ongoing problem.

Keith