Aide à la régulation PID autotunning

Bonjour.
Je tiens à remercier à l'avance toutes leurs contributions, j'ai personnellement été très utile
Qu'est-ce qui se passe maintenant qu'en cherchant à contrôler la température PID autotunning acquis par un FP-TC-200, je ne reçois pas tout signal de commande (pièce jointe VI) lorsque je tente de soulever la gamme de la FP-AO-200 I dit qu'il ya une erreur dans la gamme
le contrôle PID est qu'il n'est pas approprié, car le module tente d'ouvrir un relais avec le pouvoir que je suis en cours et que allumer ou éteindre une résistance qui fonctionne avec 120 V et a une puissance de 150 W, mais ces temps s'il y avait un moyen de mettre en place un sous-programme qui permet le contrôle le plus près possible à un PID ou peut-être un PID quelle que soit la réponse n'a pas le meilleur .... Je peux proposer quelque chose et aide-moi à cette s'il vous plaît? : Smileys: ..
Désolé pour mon mauvais français, parlé ... mais n'a reçu aucune aide dans la collectivité en espagnol
MERCI

Bonjour
Ci-dessous le VI ... Le
problème est que lorsque je lui donne "run" je n'ai pas de réponse
lorsque je tente de contrôler et de tourner jusqu'à la plage (ne sais
pas si c'est pour ça), j'obtiens une erreur
Après
je donne Autotune, il semble que le module FP-AO-200 ne me donne pas le
contrôle de réponse, ce module est connecté à un relais qui active ou
désactive une résistance, et je prends les données de la FP-TC-120 est
que ce cas, un contrôle linéaire n'est pas le
meilleur, l'idéal serait la marche-arrêt, mais je tiens à les rendre
comparables à l'IDP et quel que soit le signal de réponse n'est pas la
meilleure
Je vous saurais gré des
suggestions pour fixer le VI ou de corriger l'erreur et être en mesure
de fonctionner une fois pour toutes
Pièces jointes :
11111111.vi ‏42 KB

Similar Messages

  • Error 53 PID Autotune with Real-time fieldpoint control

    Hi!
    I cannot perform the autotuning PID parameters in fieldpoint cFP-2000 (Real-time control).
    It gives me the error 53 as you see in the attachment file. It seems to be because of the autotune wizard vi...???
    How can i solve this problem?
    Thanks for your help!
    Nunix
    Portugal
    Attachments:
    error 53.bmp ‏166 KB

    Hello,
    LabVIEW RT does not currently support the autotuning feature, because the procedure invokes a wizard that requires user interaction. LabVIEW RT does not support this type of user interface. This wizard is tightly integrated with the PID function itself and would require significant redesign to work in LabVIEW RT.
    It is the autotuning VI itself that is not compatible with LabVIEW RT. You can use the "PID Autotuning.vi" as long as you are not targeted to your RT engine. Run your VI in development mode with the "PID Autotuning.vi" in your code. After you receive your tuned gain settings, replace the autotuning vi with the normal "PID.vi" and use your tuned gains for the inputs. You can now target to your RT engine with tuned gains.
    Hope it s help.
    Isabelle
    Ingénieur d'applications
    National Instruments France

  • PID autotuning

    Hello,
    I am not able to obtain new PID gain values in the PID autotuning wizard. It is showing NaN for Kp, Ti and Td. I am attaching my labVIEW file here. Please help. 
    thank you in advance.
    Attachments:
    PID_tuning1.vi ‏128 KB

    Hi Arun
    Thanx for the reply, If I use the Autotuning.vi I will have to use 1 vi for 1 closed loop, since am using 128 thermocouple in closed loop, that would mean i will need 128 PID loop. Is there any alternative solution?
    Also am using the VI in RT, with out front end. so if I set autotune to "TRUE" the autotuning wizard will popup, which i dont want, so i guess i will remove that part of the functions. What do you suggest?
    Thanx for the reply
    Regards
    Arun

  • How should I set the parameters of PID Autotuning such as relay amplitude and PV noise level?

    I want to control the temperature of a room by changing the hot water flow of a radiator with a control valve. The desirable control accuracy is +/- 0.5 degree of centigrade.
    What number should I set for relay amplitude? And what number should I set for PV noise level?

    Hello loghmani,
    If your output is saturating try to reduce your relay amplitude and/or reduce the gain Kc of the PID controller before starting the autotuning procedure.  You can find more information about each of the parameters that you've inquired about at this KnowledgeBase article.
    I would recommend taking a look at the General Auto PID Simulator.vi example.  You can find this example by doing a search in the example finder or by clicking linked example at the bottom of the detailed help page of the Autotuning PID.vi.
    If you haven't looked at the PID user manual that also contains useful information on setting up PID algorithims and Autotuning.
    David A
    National Instruments
    FlexRIO Product Support Engineer

  • What is the relay amplitude parameter for the PID Autotuning addon VI?

    I don't understand this parameter.  I've tried to find a more descriptive help on it, but my searching skills are failing me.  Can someone explain this parameter to me?  I'm trying to auto tune  heater control system where the feedback temperature to the controller is a fluid temperature, so there is a lot of seperation between the heating source and the control feedback transducer.  There is also a lot of mass and I'm not happy with the amount of oscillation that I am getting around my setpoints.

    Dear all,
                  Thanks for you people's reply . I really appreciate your helping mentality .
    when we go for relay auto tuning using PID controller,we have to Substitute a relay with amplitude d  and from the desribing function we get the eqn Ku =4d/pa  .
    my doubt here how will i obtain d (ie.,relay amplitude)?
    In order to analyse this , I first implented simple ON OFF(relay) temperature controller .From that I observed the oscillations getting are asymmetric .In order to get symmetric oscillations, i know that we have to select a suitable value for d ? Is there any theoretical method to find d? I really got stuck in this part . Considering the fact that i want to design completely automatic system , i  want my miccrocontroller to find d rather than manually . So it would be very helpful if you give me a solution for this and I will be always indebted to you.
    hopefully,
    --varun

  • How to implement autotuning pid in labview in flow control process????

    I tried the same way as Example available in LabVIEW..... that is general auto PID simulator... But that didn't worked out for me.....

    The 'General Auto PID Simulator.vi' example uses the technique "PID Relay" feedback where it tries to calculate the PID values based on the relay feedback, but using the PID also in the loop:
    (http://zone.ni.com/reference/en-XX/help/370401H-01/lvpidmain/pidrelay_alg/)
    This technique works, but it requires initial PID parameters that will make the relay setpoint stable and it is able to obtain the results you are expecting.
    Now, for flow control, you can try the most classic techniques. Please use other shipping examples that start with "autotuning" and in special this:
    C:\Program Files (x86)\National Instruments\LabVIEW 2013\examples\control\PID\Autotuning PID Online.vi
    In this VI, you can choose other techniques like open-loop step response, closed-loop step response and the original 'relay feedback' where it doesn't have a PID inside the estimation loop.
    Anyway, here you have more information about those techniques http://zone.ni.com/reference/en-XX/help/370401H-01/TOC4.htm.
    One more thing: keep in mind that depending on the plant parameters, a PID could not be suited for your application and a more complex controller need to be developed.
    Hope this can help you...
    Barp - Control and Simulation Group - LabVIEW R&D - National Instruments

  • PID Temperatur​e Autotuning

    Hi,
    Has anyone had much success with the 'Temperature' method of PID control and the autontuning of its parameters?  I have several temperature (and other slow-responding) systems that I'm trying to control.  But I'm not having much success getting adequate gains.  Is there a good guide to implementing this technique?
    Also, does the 'Tuning Complete' boolean even work?  It appears that the boolean only becomes true when the user stops autotuning manually?  Thanks.
    -Joe

    Joe,
    The "PID Temperature Autotuning" is used in system that have large time-delays. By large, the delay should be equal or bigger than the time constant. If that is not the case where the delay is just a fraction of the time constant, than the "PID Advanced Autotuning" probably would have a better response for you.
    The  "PID Temperature Autotuning" has a 'smith predictor' inside the algorithm that try to avoid the effects of the delay, but, if your system can't be model or differ too much from a first order model with large delay, then it is possible it can not work for you.
    The "Tuning Complete" problem was already reported and fixed in later versions. If you want to fix on your version, here is the code to patch your version and in attachment is the VI save in LabVIEW 2013:
    Barp - Control and Simulation Group - LabVIEW R&D - National Instruments
    Attachments:
    PID Autotuning (Temperature).vi ‏42 KB

  • PID - comportements bizarres

    Bonjour,
    Nous venons d'intégrer une installation industrielle dont le controle commande est assuré par un poste de travail Labview2010 et un compactRio Real Time.
    Cette installation régule entre autre 2 chauffes thermiques par resistances (effet joule)...
    Nous rencontrons des difficultés concernant les boucles de régulation PID que nous avons intégrées dans le diagramme du CompactRio Real Time (voir fichier Pid_RTCrio.jpg ci joint pour + de détails) :
    - vous trouverez ci joint (fichier Pid_GraphPBPID.jpg), reportant le comportement de notre régulation; il apparait nettement des pics 0% ou 100% qui nous semblent inopportuns; nous avons tout vérifié et nous pouvons dire qu'il ne s'agit pas d'un problème d'affichage puisque la sortie electrique associée à la sortie PID se comportent comme ce que l'on voit apparaitre sur le graphe.
    - comment éliminer ces pics ? nous avons essayé plusieurs jeux de paramètres PID, rien n'y fait...
    - pour info, nous avons cablé sur l'entrée dt de chaque bloque PID la constante '10'; cela a semble t-il résolu le problème des pics, mais nous ne comprenons pas pourquoi; pouvez nous dire à quoi sert ce paramètre dt du PID ? ; l'aide Labview et le document PID_User_Manual.pdf ne nous permettent pas de trouver l'explication...
    - enfin, nous avons réussi à réguler au 1/10 de degré (ce qui nous satisfait) mais encore une fois nous avons du mettre le paramètre I (intégration) à 5000 minutes !!! le P est à 20 et le D à 1; malgré le document PID_User_Manual.pdf, nous ne comprenons à quoi correspondent ces 5000 minutes ?
    Nous sommes conscients de nos limites en développement Labview et en régulation PID,
    N'hésitez pas s'il vous manque des précisions,
    Nous vous remercions par avance de vos réponses qui nous aideraient vraiment à apprécier votre produit,
    Cordialement.
    Attachments:
    Pid_RTCrio.jpg ‏252 KB
    Pid_GraphPBPID.jpg ‏1097 KB

    Bonjour et merci d'être venu sur le forum de discussions de National Instruments.
    Après une étude du graphe de signal en sortie de votre application, La fréquence d'apparition des pics de tension ( 0% ou 100%) semble constante (en moyenne 18 pics par intervalles de 30 minutes). Une solution enisageable serait de mettre en place une solution de filtrage, de type passe-bas, afin d'éliminer ces pics.
    Concernant le paramètre dt du vi PID, je vous invite à consulter le vi d'exemple de l'aide LabVIEW, intitulé "General PID Simulator" que vous pouvez atteindre depuis l'aide détaillée de la fonction PID ou depuis la recherche d'exemple. Je vous joins une capture du diagramme de cet exemple.
    Ce paramètre s'avère être celui définissant la fréquence d'appel des cycles d'execution, il est donc important de le définir, que ce soit en cablant une constante (ou une commande) sur cette entrée, ou en incluant une fonction d'attente dans votre boucle while (méthode montrée dans l'exemple).
    En éspérant vous avoir aidé avec ces élements de réponse,
    Cordialement,
    Vincent.O
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Été de LabVIEW 2014
    12 présentations en ligne, du 30 juin au 18 juillet
    Attachments:
    exemplePID.png ‏21 KB

  • Circuit for auto tuning of pid controller in lab view

    Hi sir
    for my  project in auto tuning of pid controller using labview,for that
       i require a simple  circuit diagram(lab view figure) and have no problem in running for that
    i will be very thankful  to you

    Hi!
    I am not sure if I completely understand the question but if you are wanting to do autotuning for PID there is actually a VI that will do it for you.  It is called PID Autotuning.vi and can be found under the PID Control pallete in LabVIEW.  The LabVIEW Help file also contains more detailed information on the inputs and outputs to the VI.
    Carlton
    CLD

  • Which vi is best to use from pid toolkit to control 8 temperature zones?

    Hi:
    I recently bought LabVIEW 8.5 w/ PID toolkit but I can't find the "pid.vi" in its examples. Although I have never used this pid.vi, I heard  that this one is a good vi to control multiple  temperature zones. Help me if I am not searching this vi in a right way or place.  I am using NI 9264 module kit for the output power. My input is two NI 9211 thermocouple temperature module.
    However my question is the same as of subject: Which vi is best to use from pid toolkit to control 8 temperature zones?
    I also see in the readme file of NI 9264 that it can give a current drive of +/- 16mA for all channels. What does that mean? Since I'll be using a solid state relay which drives on 30mA/per channel.
    Thanks for any help in advance.

    Hi HopeS,
    Unfortunately, PID control theory is not a simple subject, and there is no single answer on parameters, because every system differs in their response to inputs. That's why the P, I, and D parameters are adjustable. We do have a PID autotuning VI found in the same palette which will launch the AutoTuning wizard to help you get mor precise parameters once you have reasonable values to work with already. But again, you need to know a reasonable set of values to operate with for P, I, and D. Once you use the Autotuning Wizard to get new PID values, I would recommend replacing the VI with the normal PID VI and manually entering in the values you found through autotuning. Then you can use an array of all your temperatures (process variables) as the input to the VI. The "simulated" case of the Ready-to-Run Temperature Controller example you found is about as simple as it can get.
    And the output of the VI is just going to be based on the mathematical transformations going on within the VI. Since you want a analog output current, you'd rescale that output if necessary and wire it into a DAQ Assistant VI (or DAQmx Write). I'm not sure I understand what you mean with not having to "play with the VIs" - this application will require some small amount of modification to fit your hardware.
    Regards,
    Vijay S.
    National Instruments

  • PID setting recommendations (and LabView tips)

    Hi guys.
    I'm measuring resistance of a sample by varying temperature from 300K to 2.6K in intervals of 0.5K. Temperature is adjusted using a Sumitomo CKW-21 Helium Compressor Unit and a Lakeshore 335 Temperature control. Because the compressor doesn't provide a constant flow, but rather in short bursts, it appears to be essentially impossible to stabilize temperature below 10K and it jumps all over the place.
    I was wondering if you guys have any suggestions as to the optimal PID setting for the Lakeshore for different temperature ranges.
    I'm thinking about trying to write a code in LabView that will automatically adjust it during the run. I have absolutely no idea how to do that right now, so any hints in that area would be greatly appreciated too!

    Yeah, I understand it's not possible to stabilize the temperature at each interval perfectly given the setup. I was just hoping to optimize it. For some reason Lakeshore PID autotune fails at stage 3, which has reasons for failing listed as "system response is too slow, or the heater is too underpowered for the system to autotune", but the system response is actually really fast and I don't think the heater is underpowered, so I'm not sure why it's complaining

  • Usage of PID controller instead of ON OFF controller

    respected sir,
           I pursuing  btech final year in the stream of instrumentation.sir i have a doubt  while go through my project,can i use PID controller  instead of using ON OFF CONTROLLER. would you please suggest me the possible ways which are going to implement in my final project intelligent wheel chair.i am eagerly waiting for your valuable acknowledgement.
    thank you,
    with warm regards,
    BOMMAREDDY

    Hi!
    I am not sure if I completely understand the question but if you are wanting to do autotuning for PID there is actually a VI that will do it for you.  It is called PID Autotuning.vi and can be found under the PID Control pallete in LabVIEW.  The LabVIEW Help file also contains more detailed information on the inputs and outputs to the VI.
    Carlton
    CLD

  • PID control to maintain constant heater electrical power?

    Hi!
    I am looking for a good solution for the following:
    I have a heater wire (approx. 220 Ohms). I drive this wire with DC voltage. I measure the voltage drop on the wire, and the current running through it. I want to control not the temperature, but the calculated electrical power (P=U*I) in the range of 1mW to 1W. 
                Of course the resistivity is slightly different at different temperatures, so that is why I think I need active control.
    Maybe someone could give me a good advice?
    Thanks very much!

    Hi,
    Everything is set up for the hardware. I generate the DC voltage with a NI Static waveform card (DAQmx). I measure the voltage drop and the current (via voltage drop measurement on a calibrated resistor connected in serial with the heater wire) with a Keithley DVM via GPIB card. The SetPoint is the required electrical power, the ProcessVariable is the calculated power from the measured U and I. The output is the driving voltage between 0-3 DC Volts, what I amplify with a factor 5.8 with an amplifier connected to the heater wire.
    I try to use the PID.vi from the PID toolkit (I already use PI(D) controls from LabView for other heater wires, where I have to control temperature, and they work very efficiently and perfectly) for this purpose.
    So far I try to find the proper gain values. My sampling rate is low, approx. 8 seconds. First I tried only the P control (zeroing the I and D gains of the PID.vi), to find a stable oscillation range, so I could go on with the PID Autotune vi. But no luck so far. I think it is also a problem, that this system is not linear: the P is not a linear function of U. Can you suggest how to go on from here?
    Thanks very much!

  • PID Temperature Controller with myRIO

    I am interested in implementing the LabVIEW PID VI to create a temperature controller using the myRIO for a sous vide cooking apparatus similiar to this: https://learn.adafruit.com/sous-vide-powered-by-arduino-the-sous-viduino/sous-vide. I will be using a slow-cooker as the heating element; for the temperature measurements, I am using the DS18B20 one-wire temperature sensor; and to alter the temperature I am using a relay connected to the slow cooker.
    I have had success getting temperature measurements from the DS18B20 with the myRIO following the guidance of this thread: https://decibel.ni.com/content/docs/DOC-41626#comment-44403, however, I am having difficulty finding a starting place to learn how to use the PID VIs for the rest of the project. In a new VI file, I used the program I had used for the temperature readings as a subVI, and tried to connect its output containing the live numerical temperature measurements into the PID VI, but the live temperature measurements as well as the PID VI output are not being transmitted after running the program.
    Here are a few more specific questions:
    Are there any preliminary steps for creating a PID program to accept live measurements from a myRIO target (should the program be enclosed in a loop for continuous updating of myRIO measurements)?
    What information is transmitted at the "output" terminal of the PID VI?
    Is autotuning recommended for this type of application?
    How does the "PID Autotuning" VI differ from the "PID Autotuning (Temperature)" VI?
    I have attached the files I am currently working with: ("1-wire interface.lvproj" is the project file, "RT Main.vi" is the temperature reading program, "PID_Test" is the new PID VI file I am experimenting with).
    If the content in this post is not appropriate to what is expected to be asked in the forums (not specific enough, etc.), please let me know and I apologize in advance. Thank you for your time and assistance!

    Hello dpull,
    There shouldn’t be any particular configuration that needs to be done, for the PID vi to start using the PID VIs, and if you desire to continously acquire the data from the myRIO, then this within a loop might be appropriate.
    The output terminal transmits the control signal of the PID controller, so basically the action that would have to take place to take the desired value to the setpoint.
    As far as recommending autotuning, it mostly  depends on your application and the precision you need, it would always be better to determine the parameters yourself, but if you don’t require super high accuracy, then autotunning should be sufficient.
    The PID autotunning (Temperature) VI is used for processes that include a dead time, since it’s incorporated into that model, the other one is better suited for processes that don’t have dead time.
    As far as resources go for learning to use this toolkit, I’d recommend sticking to the examples you can find in LabVIEW and maybe the following manual.
    http://www.ni.com/pdf/manuals/372192d.pdf

  • Sporadically getting error "string or binary data would be truncated" in SQL server 2008 while inserting in a Table Type object

    I am facing a strange SQL exception:-
    The code flow is like this:
    .Net 4.0 --> Entity Framework --> SQL 2008 ( StoredProc --> Function {Exception})
    In the SQL Table-Valued Function, I am selecting a column (nvarchar(50)) from an existing table and (after some filtration using inner joins and where clauses) inserting the values in a Table Type Object having a column (nvarchar(50))
    This flow was working fine in SQL 2008 but now all of sudden the Insert into @TableType is throwing  "string or binary data would be truncated"  exception. 
    Insert Into @ObjTableType
    Select * From dbo.Table
    The max length of data in the source column is 24 but even then the insert statement into nvarchar temp column is failing.
    Moreover, the same issue started coming up few weeks back and I was unable to find the root cause, but back then it started working properly after few hours
    (issue reported at 10 AM EST and was automatically resolved post 8 PM EST). No refresh activity was performed on the database.
    This time however the issue is still coming up (even after 2 days) but is not coming up in every scenario. The data set, for which the error is thrown, is valid and every value in the function is fetched from existing tables. 
    Due to its sporadic nature, I am unable to recreate it now :( , but still unable to determine why it started coming up or how can i prevent such things to happen again.
    It is difficult to even explain the weirdness of this bug but any help or guidance in finding the root cause will be very helpful.
    I also Tried by using nvarchar(max) in the table type object but it didn't work.
    Here is a code similar to the function which I am using:
    BEGIN
    TRAN
    DECLARE @PID
    int = 483
    DECLARE @retExcludables
    TABLE
        PID
    int NOT
    NULL,
        ENumber
    nvarchar(50)
    NOT NULL,
        CNumber
    nvarchar(50)
    NOT NULL,
        AId
    uniqueidentifier NOT
    NULL
    declare @PSCount int;
    select @PSCount =
    count('x')
    from tblProjSur ps
    where ps.PID
    = @PID;
    if (@PSCount = 0)
    begin
    return;
    end;
    declare @ExcludableTempValue table (
            PID
    int,
            ENumber
    nvarchar(max),
            CNumber
    nvarchar(max),
            AId
    uniqueidentifier,
            SIds
    int,
            SCSymb
    nvarchar(10),
            SurCSymb
    nvarchar(10)
    with SurCSymbs as (
    select ps.PID,
                   ps.SIds,              
                   csl.CSymb
    from tblProjSur ps
                right
    outer join tblProjSurCSymb pscs
    on pscs.tblProjSurId
    = ps.tblProjSurId
    inner join CSymbLookup csl
    on csl.CSymbId
    = pscs.CSymbId 
    where ps.PID
    = @PID
        AssignedValues
    as (
    select psr.PID,
                   psr.ENumber,
                   psr.CNumber,
                   psmd.MetaDataValue
    as ClaimSymbol,
                   psau.UserId
    as AId,
                   psus.SIds
    from PSRow psr
    inner join PSMetadata psmd
    on psmd.PSRowId
    = psr.SampleRowId
    inner join MetaDataLookup mdl
    on mdl.MetaDataId
    = psmd.MetaDataId
    inner join PSAUser psau
    on psau.PSRowId
    = psr.SampleRowId
                inner
    join PSUserSur psus
    on psus.SampleAssignedUserId
    = psau.ProjectSampleUserId
    where psr.PID
    = @PID
    and mdl.MetaDataCommonName
    = 'CorrectValue'
    and psus.SIds
    in (select
    distinct SIds from SurCSymbs)         
        FullDetails
    as (
    select asurv.PID,
    Convert(NVarchar(50),asurv.ENumber)
    as ENumber,
    Convert(NVarchar(50),asurv.CNumber)
    as CNumber,
                   asurv.AId,
                   asurv.SIds,
                   asurv.CSymb
    as SCSymb,
                   scs.CSymb
    as SurCSymb
    from AssignedValues asurv
    left outer
    join SurCSymbs scs
    on    scs.PID
    = asurv.PID
    and scs.SIds
    = asurv.SIds
    and scs.CSymb
    = asurv.CSymb
    --Error is thrown at this statement
    insert into @ExcludableTempValue
    select *
    from FullDetails;
    with SurHavingSym as (   
    select distinct est.PID,
                            est.ENumber,
                            est.CNumber,
                            est.AId
    from @ExcludableTempValue est
    where est.SurCSymb
    is not
    null
    delete @ExcludableTempValue
    from @ExcludableTempValue est
    inner join SurHavingSym shs
    on    shs.PID
    = est.PID
    and shs.ENumber
    = est.ENumber
    and shs.CNumber
    = est.CNumber
    and shs.AId
    = est.AId;
    insert @retExcludables(PID, ENumber, CNumber, AId)
    select distinct est.PID,
    Convert(nvarchar(50),est.ENumber)
    ENumber,
    Convert(nvarchar(50),est.CNumber)
    CNumber,
                            est.AId      
    from @ExcludableTempValue est 
    RETURN
    ROLLBACK
    TRAN
    I have tried by converting the columns and also validated the input data set for any white spaces or special characters.
    For the same input data, it was working fine till yesterday but suddenly it started throwing the exception.

    Remember, the CTE isn't executing the SQL exactly in the order you read it as a human (don't get too picky about that statement, it's at least partly true enough to say it's partly true), nor are the line numbers or error messages easy to read: a mismatch
    in any of the joins along the way leading up to your insert could be the cause too.  I would suggest posting the table definition/DDL for:
    - PSMetadata, in particular PSRowID, but just post it all
    - tblProjectSur, in particularcolumns CSymbID and TblProjSurSurID
    - cSymbLookup, in particular column CSymbID
    - PSRow, in particular columns SampleRowID, PID,
    - PSAuser and PSUserSur, in particualr all the USERID and RowID columns
    - SurCSymbs, in particular colum SIDs
    Also, a diagnostic query along these lines, repeat for each of your tables, each of the columns used in joins leading up to your insert:
    Select count(asurv.sid) as count all
    , count(case when asurv.sid between 0 and 9999999999 then 1 else null end) as ctIsaNumber
    from SurvCsymb
    The sporadic nature would imply that the optimizer usually chooses one path to the data, but sometimes others, and the fact that it occurs during the insert could be irrelevant, any of the preceding joins could be the cause, not the data targeted to be inserted.

Maybe you are looking for

  • Agreement lookup failed as From trading partner cannot be identified

    Hi, I am working on custom document over HTTPS. I configured B2B to send custom document over Generic Exchange(transport - HTTPS). I enqueue the XML document with AQ header to IP_OUT_QUEUE. B2B is able to read the data from IP_OUT_QUEUE and invokes t

  • Unsuccessful export of foreign languages to Word

    I have a document written in English that contains Greek and Turkish words and phrases and I have exported it to Word from Pages (v 3.0.2) and sent it on in that form thinking all was well. The recipient needs to convert the document from Word to Pag

  • Windows 7 Computer refuses to join 2003 Domain.

    Hey guys, I'm having a slight problem over here on my end connecting two new windows 7 pro PC's to the 2003 R2 server downstairs. What's happening is that the domain name 'Name.root' is not found by either computer, but if I type in 'Name' I get a pr

  • My tabs will not delete when I hit the x. why not?

    my tabs are collecting at the top of my page. they will not x out. it will open the page but I can not make the page go away. I don't want to collect a gazillion tabs. why is this happening and how can I make it stop?

  • Automatic Double-Space after inserting a character (eg. &)

    Hi, I haven't had this problem previously, but recently whenever I type a bracket or 'and' symbol it automatically inserts a space after the space. For example... "everything was great (Decker,2004)." as opposed to "everything was great (Decker,2004)