Reading data from force gauge rounding off decimals

Hello everyone.  I am new to Labview and this is my first posting on the forum.  I am currently writing a program to record pull tests on crimps using a force gauge.  Everything is going fairly well for it being my first project except when the data I am reading from the force gauge is rounding off the decimals.  I am sure it is where I am using the absolute value and conversion functions but I am unsure the correct way I should be doing this.  Thanks in advance for any advice.  Also, I tried searching on this but did not come up with anything so I apologize if this is a redundant topic. 

The reason you are losing your decimals is because of the data type you are using.
If you notice, your indicator is blue, indicating it is "I8" (an 8-bit integer).
Since it is an integer, by definitiion it has no decimal precision.
After you read in the data string, try converting it to SGL (single precision float, 32-bit) or DBL (double precision float, 64-bit)
Cory K

Similar Messages

  • When I was talking on phone, suddenly the phone was switched off. i tried to switch it on but it gave the message....connect to itunes for set up.  when I connected it to itunes...it gave the message, itunes can not read data from this iphone, restore it

    when I was talking on phone, suddenly the phone was switched off.
    i tried to switch it on but it gave the message....connect to itunes for set up.
    when I connected it to itunes...it gave the message, itunes can not read data from this iphone, restore it to factory settings. It also said while restoring ypu will lose all media data but you can restore the contacts.
    I restored the factory settings....the phone was on recovery mode...it was verified by itunes and all that..but in the end it again said that iphone has some problem and can not function right now.
    after that when ever i connect it with itunes, it gives the message, it can not activate the iphone further, try again later or contact customer service.
    What to do now?????? Customer service people say..it is hardware problem

    If it's a hardware problem, then the phone will need to be replaced.
    There is no magic that can fix a hardware problem.

  • How do I read data from a DMM or DC Power Supply at a specified rate?

    I have a PXI system with 4071 DMMs and 4110 DC Power Supplies. I want to be able to measure the power consumption of my DUT as it performs various operations. This is what my process flow looks like:
    1. Configure DMM and Power Supply 
    2. Wait for DUT to go into a certain mode
    3. Start  Acquiring data from DMM and PS.
    4. Wait for DUT to get out of this mode
    5. Stop Acquiring data from DMM and PS.
    Since the duration of step #4 is uncertain, I cannot tell the units to collect a predetermined number of samples and give it back to me. Instead I have to take readings as long as it's required. 
    I'm attaching screenshots of my setup and read process. The reading is done inside a timed loop which is running at 1kHz.
    The problem is that using niDMM Read Multi-Point or niDCPower Measure Multiple takes 5-9ms before I get a reading, so I'm not really getting 1ms resolution in my data. I'm sure there are other folks who have had the need to read data from these devices with better time-resolution, so if anyone can point me in the correct direction, it would be great. I'm pretty sure I'm not doing the correct thing here.
    Attachments:
    1-Setup.PNG ‏12 KB
    2-Read.PNG ‏9 KB

    What is really confusing to me is why you are even using the multi-point function when you set the sample count to 1. If you want multiple points, request multiple samples and let the DMM acquire them at a rate you specify. If you want a single sample, use the normal Read. You also need to pay attention to how fast the DMM can acquire. If you want the fastest sample rates, you might be a lot better off with a DAQ board.

  • HTTP-500 Error Reading Data from Client!!

    I'm trying to create a page where by clients are able to contact us through the portal. So, it's a pretty basic form where I have a text box for the subject, and a text area for the message body.
    My problem is when the message body is over a certain size, I'm getting a "portlet cannot be contacted" on my screen. The Apache log comes up with the error:
    [error] mod_plsql: /pls/portal/!PORTAL.wwpob_page.show HTTP-500 Error Reading Data from Client!!
    I'm not using a windows OS, so the bug that has been talked about previously talked about shouldn't be the problem.
    Also, I am using a POST rather than a GET, so I don't think it has to do with the browser (and I have tested this on Firefox and IE 5.5 and IE 6).
    Would appreciate any advise.
    Thanks, Nicky

    Are you using SSL? Maybe, it has to do with it. I encountered a similar problem. It turned up that this read error occurred inside Apache and was caused by a nonstandard-SSL-request by Internet Explorer. te remedy was to add this to the Apache configuration:
    SetEnvIf     User-Agent     ".*MSIE.*"     \
    nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
    It tells Apache to switch to HTTP/1.0 and to never keep open socket connections with MSIE on SSL connections.
    Lycka till!

  • Error reading data from the MS Dos Console.

    Hi,
    We have a legacy application which is launched via a 3rd-party Telnet Server - the app acts as a remote shell for an RF device. The system has been functioning for many years but now we have migrated to Server 2012 the system no longer launches.
    The RF device successfully connects to the telnet server, logs-in with embedded credentails but drops the connection when the shell application is launched.
    The server has the following Application error
    Error reading data from the MS Dos Console.
    The pipe has been ended. 109 (0x6d)
    The application can successfully be launched locally outside of the shell on the server. The error is reproducable across RF devices and desktop telnet connections.
    The firewalls are off.
    Are there some additional protections in Server 2012 which would cause the pipe-based link to be stopped when launching the exe? Am I missing something? The 3rd-party telnet server is certified for Server 2012.
    Thnak you

    I'd ask in the
    Windows Server General Forum, or ask the third party vendor.
    Karl
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    My Blog: http://unlockpowershell.wordpress.com
    My Book:
    Windows PowerShell 2.0 Bible
    My E-mail: -join ("6B61726C6D69747363686B65406D742E6E6574"-split"(?<=\G.{2})",19|%{[char][int]"0x$_"})

  • TT16060: Failed to read data from the network. select() timed out

    hi!
    i am working on active standby pair.....i created
    [activedsn]
    Driver=/d01/oracle/tt70/TimesTen/tt70/lib/libtten.so
    DataStore=/d01/oracle/tt70/TimesTen/tt70/info/activedsn
    DatabaseCharacterSet=WE8MSWIN1252
    PermSize=10
    [standbydsn]
    Driver=/d01/oracle/tt70/TimesTen/tt70/lib/libtten.so
    DataStore=/d01/oracle/tt70/TimesTen/tt70/info/standbydsn
    DatabaseCharacterSet=WE8MSWIN1252
    PermSize=10
    [sub3]
    Driver=/d01/oracle/tt70/TimesTen/tt70/lib/libtten.so
    DataStore=/d01/oracle/tt70/TimesTen/tt70/info/sub3
    DatabaseCharacterSet=WE8MSWIN1252
    PermSize=10
    replication schemes; .............all are on same hosts..........
    activedsn datastore.............
    Command> create table readtab(a number not null primary key,b varchar2(31));
    Command> insert into readtab values(101,'aaaa');
    1 row inserted.
    Command> commit;
    command>create active standby pair activedsn on "tap2.test3.com",standbydsn on "tap2.test3.com" return receipt subscriber sub3 on "tap2.test3.com";
    standbydsn datastore..........
    command>ttrepadmin -duplicate -from activedsn -host "tap2.test3.com" -uid adm -pwd adm "dsn=standbydsn";
    sub3 datastore..........
    command>ttrepadmin -duplicate -from standbydsn -host "tap2.test3.com" -uid adm -pwd adm "dsn=sub3";
    now they are working fine when i insert something from activedsn it is replicated to standbydsn and from standbydsn to sub3 ......
    problem:
    but when i test "Recovering from a failure of the standby master data store"
    i ttdestroy standbydsn..............and on activedsn i executed
    command>call ttrepstatesave('failed','standbydsn','tap2.test3.com');
    after that all updates from activedsn were replicated to sub3....in the meanwhile i again duplicated standbydsn from activedsn
    command>ttrepadmin -duplicate -from activedsn -host "tap2.test3.com" -uid adm -pwd adm "dsn=standbydsn";
    now what happens updates from activedsn are replicated to standbydsn but no updates are replicated to sub3 it is giving error
    15:24:29.29 Warn: REP: 7077: SUB3:receiver.c(1931): TT16060: Failed to read data from the network. select() timed out
    15:29:36.09 Warn: REP: 7008: STANDBYDSN:receiver.c(1931): TT16060: Failed to read data from the network. TimesTen replication agent is stopping
    replication agents for all are running.............
    please helppppp..........
    Edited by: Muhammad.Usman on Oct 13, 2009 2:57 AM
    Edited by: Muhammad.Usman on Oct 13, 2009 3:08 AM

    [timesten@tap2 bin]$ ttrepadmin -showconfig activedsn
    Self host "TAP2.TEST3.COM", port auto, name "ACTIVEDSN", LSN 0/916688, timeout 120, threshold 0
    List of subscribers
    Peer name Host name Port State Proto
    SUB3 TAP2.TEST3.COM Auto Start 24
    Last Msg Sent Last Msg Recv Latency TPS RecordsPS
    00:00:03 - -1.00 -1 -1
    Peer name Host name Port State Proto
    STANDBYDSN TAP2.TEST3.COM Auto Start 24
    Last Msg Sent Last Msg Recv Latency TPS RecordsPS
    00:00:03 00:00:04 -1.00 -1 -1
    List of objects and subscriptions
    Table details
    Table : ADM.READTAB Timestamp updates : -
    Master Name Subscriber name
    STANDBYDSN SUB3
    STANDBYDSN ACTIVEDSN
    Table details
    Table : ADM.READTAB Timestamp updates : -
    Master Name Subscriber name
    ACTIVEDSN SUB3
    ACTIVEDSN STANDBYDSN
    Datastore details
    Master Name Subscriber name
    STANDBYDSN SUB3
    STANDBYDSN ACTIVEDSN
    Datastore details
    Master Name Subscriber name
    ACTIVEDSN SUB3
    ACTIVEDSN STANDBYDSN
    [timesten@tap2 bin]$ ttrepadmin -showstatus activedsn
    Replication Agent Status as of: 2009-10-13 20:42:02
    DSN : activedsn
    Process ID : 19000 (Started)
    Replication Agent Policy : manual
    Host : TAP2.TEST3.COM
    RepListener Port : 58698 (AUTO)
    Last write LSN : 0.973840
    Last LSN forced to disk : 0.973840
    Replication hold LSN : 0.968456
    Replication Peers:
    Name : SUB3
    Host : TAP2.TEST3.COM
    Port : 58371 (AUTO) (Connected)
    Replication State : STARTED
    Communication Protocol : 24
    Name : STANDBYDSN
    Host : TAP2.TEST3.COM
    Port : 59000 (AUTO) (Connected)
    Replication State : STARTED
    Communication Protocol : 24
    TRANSMITTER thread(s):
    For : SUB3
    Start/Restart count : 6
    Send LSN : 0.971432
    Transactions sent : 2
    Total packets sent : 158
    Tick packets sent : 112
    MIN sent packet size : 48
    MAX sent packet size : 568
    AVG sent packet size : 59
    Last packet sent at : 20:42:00
    Total Packets received: 158
    MIN rcvd packet size : 48
    MAX rcvd packet size : 96
    AVG rcvd packet size : 64
    Last packet rcvd'd at : 20:42:00
    TRANSMITTER thread(s):
    For : STANDBYDSN
    Start/Restart count : 4
    Send LSN : 0.971432
    Transactions sent : 2
    Total packets sent : 106
    Tick packets sent : 84
    MIN sent packet size : 48
    MAX sent packet size : 560
    AVG sent packet size : 63
    Last packet sent at : 20:42:00
    Total Packets received: 104
    MIN rcvd packet size : 48
    MAX rcvd packet size : 96
    AVG rcvd packet size : 66
    Last packet rcvd'd at : 20:42:00
    Most recent errors (max 5):
    TT16122 in transmitter.c (line 3313) at 20:28:28 on 10-13-2009
    TT16121 in transmitter.c (line 3048) at 20:28:28 on 10-13-2009
    TT16060 in transmitter.c (line 5028) at 20:33:59 on 10-13-2009
    TT16122 in transmitter.c (line 3313) at 20:33:59 on 10-13-2009
    TT16121 in transmitter.c (line 3048) at 20:33:59 on 10-13-2009
    RECEIVER thread(s):
    For : STANDBYDSN
    Start/Restart count : 1
    Transactions received : 0
    Total packets sent : 33
    Tick packets sent : 0
    MIN sent packet size : 48
    MAX sent packet size : 68
    AVG sent packet size : 67
    Last packet sent at : 20:42:00
    Total Packets received: 33
    MIN rcvd packet size : 48
    MAX rcvd packet size : 135
    AVG rcvd packet size : 51
    Last packet rcvd'd at : 20:42:00
    [timesten@tap2 bin]$
    [timesten@tap2 bin]$ ttrepadmin -showstatus standbydsn
    Replication Agent Status as of: 2009-10-13 20:42:35
    DSN : standbydsn
    Process ID : 19102 (Started)
    Replication Agent Policy : manual
    Host : TAP2.TEST3.COM
    RepListener Port : 59000 (AUTO)
    Last write LSN : 0.1007904
    Last LSN forced to disk : 0.1007904
    Replication hold LSN : 0.1002472
    Replication Peers:
    Name : SUB3
    Host : TAP2.TEST3.COM
    Port : 58371 (AUTO) (Connected)
    Replication State : STARTED
    Communication Protocol : 24
    Name : ACTIVEDSN
    Host : TAP2.TEST3.COM
    Port : 58698 (AUTO) (Connected)
    Replication State : STARTED
    Communication Protocol : 24
    TRANSMITTER thread(s):
    For : SUB3
    Start/Restart count : 2
    Send LSN : 0.1005496
    Transactions sent : 1
    Total packets sent : 48
    Tick packets sent : 33
    MIN sent packet size : 48
    MAX sent packet size : 568
    AVG sent packet size : 65
    Last packet sent at : 20:42:30
    Total Packets received: 48
    MIN rcvd packet size : 48
    MAX rcvd packet size : 96
    AVG rcvd packet size : 64
    Last packet rcvd'd at : 20:42:30
    Most recent errors (max 5):
    TT16229 in transmitter.c (line 6244) at 20:38:01 on 10-13-2009
    TRANSMITTER thread(s):
    For : ACTIVEDSN
    Start/Restart count : 1
    Send LSN : 0.1005496
    Transactions sent : 0
    Total packets sent : 36
    Tick packets sent : 34
    MIN sent packet size : 48
    MAX sent packet size : 135
    AVG sent packet size : 50
    Last packet sent at : 20:42:30
    Total Packets received: 36
    MIN rcvd packet size : 48
    MAX rcvd packet size : 68
    AVG rcvd packet size : 67
    Last packet rcvd'd at : 20:42:30
    RECEIVER thread(s):
    For : ACTIVEDSN
    Start/Restart count : 1
    Transactions received : 1
    Total packets sent : 42
    Tick packets sent : 0
    MIN sent packet size : 48
    MAX sent packet size : 96
    AVG sent packet size : 66
    Last packet sent at : 20:42:30
    Total Packets received: 47
    MIN rcvd packet size : 48
    MAX rcvd packet size : 190
    AVG rcvd packet size : 58
    Last packet rcvd'd at : 20:42:30
    [timesten@tap2 bin]$
    [timesten@tap2 bin]$ ttrepadmin -showstatus sub3
    Replication Agent Status as of: 2009-10-13 20:43:05
    DSN : sub3
    Process ID : 18898 (Started)
    Replication Agent Policy : manual
    Host : TAP2.TEST3.COM
    RepListener Port : 58371 (AUTO)
    Last write LSN : 0.707088
    Last LSN forced to disk : 0.707088
    Replication hold LSN : -1.-1
    Replication Peers:
    Name : ACTIVEDSN
    Host : TAP2.TEST3.COM
    Port : 0 (AUTO)
    Replication State : STARTED
    Communication Protocol : 24
    Name : STANDBYDSN
    Host : TAP2.TEST3.COM
    Port : 0 (AUTO)
    Replication State : STARTED
    Communication Protocol : 24
    RECEIVER thread(s):
    For : ACTIVEDSN
    Start/Restart count : 1
    Transactions received : 0
    Total packets sent : 46
    Tick packets sent : 0
    MIN sent packet size : 48
    MAX sent packet size : 96
    AVG sent packet size : 65
    Last packet sent at : 20:43:00
    Total Packets received: 46
    MIN rcvd packet size : 48
    MAX rcvd packet size : 134
    AVG rcvd packet size : 51
    Last packet rcvd'd at : 20:43:00
    RECEIVER thread(s):
    For : STANDBYDSN
    Start/Restart count : 1
    Transactions received : 1
    Total packets sent : 45
    Tick packets sent : 0
    MIN sent packet size : 48
    MAX sent packet size : 96
    AVG sent packet size : 66
    Last packet sent at : 20:43:00
    Total Packets received: 50
    MIN rcvd packet size : 48
    MAX rcvd packet size : 190
    AVG rcvd packet size : 56
    Last packet rcvd'd at : 20:43:00
    [timesten@tap2 bin]$
    [timesten@tap2 bin]$
    Edited by: Muhammad.Usman on Oct 13, 2009 9:57 PM

  • View Object to read data from a java file

    Hi,
    I am using JDeveloper 11.1.1.4 and ADF-BC in my application.
    For one of my view objects , I want the data to be read from a java file which exposes some method to return a collection.
    I cannot use a static view object in this case.
    Please suggest the best way to implement this requirement.Basically build a view object that should read data from a java file.
    Thanks,
    Praveen

    Depending on your use case you can either use a programmatic VO or directly expose the JV class as a data control.
    http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_36/jdtut_11r2_36.html

  • Read data from SAP R/3 Class-System

    Hello,
    first of all sorry when I posted this into the wrong subforum, but I wasn't sure about that. My Question is how to read data from the Classystem I have specified in my ABAP report.
    The goal is to read data from my individual class-system as well as data from MM and write them to a table that is to be read by another report. But right now I can't find information about the class system and abap. Maybe you know some tutorials or blogs about right that topic you can suggest?

    What class system have you specified in your report?
    Normally a class can be used by declaring a variable of type of the class in question, if this class can be instantiated this is. If your class can't be instantiated, but it has only class methods, you can call this method directly.
    But there is a lot more to this ABAP Object Oriented Programming, than just this short explanation. Search on SDN for some ABAP OO Tutorials.
    some links:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b6cae890-0201-0010-ef8b-f970a9c41d47
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1591ec90-0201-0010-3ba8-cdcd500b17cf
    Transacation ABAPDOCU.

  • Can not read data from URL!

    Hello,
    I want to read data from URL (http://84.100.130.82:8000/;stream.nsv). But can not do it. Because when try to call function openDataInputStream() shows this error: java.io.IOException: response does not start with HTTP it starts with: ICY. How I can fix this bug?
    HttpConnection c = null;
    InputStream is = null;
    OutputStream os = null;
    StringBuffer b = new StringBuffer();
    String           response,
    responseLitle;
    c = (HttpConnection)Connector.open(&#8220;http://84.100.130.82:8000/;stream.nsv&#8221;);
    os = c.openOutputStream();
    os.flush();
    is = c.openDataInputStream();     // ERROR CODE HERE
    int ch;
    // receive output
    while ((ch = is.read()) != -1)
    b.append((char) ch);
    response = b.toString();Regards, Ramunas

    Hi, I�m trying to do the same as above, get MP3 from a Shoutcast server.
    I got the same fault ("response does not start with HTTP it starts with: ICY") when I tried to open an HttpConnection as bellow:
    ============================================
    HttpConnection conn = (HttpConnection) Connector.open("http://64.236.34.196/stream/1074");
    Then I tried to open a socket connection as bellow:
    ======================================
    SocketConnection conn = (SocketConnection) Connector.open("socket://64.236.34.196:80");
    String get = "GET /stream/1074 HTTP/1.1";
    DataOutputStream os = conn.openDataOutputStream();
    os.writeUTF(get);
    InputStream is = conn.openInputStream();
    But then I got the following error:
    =========================
    java.lang.SecurityException: Target port denied to untrusted applications
    Could someone help me to find out what is going on?
    Thanks a lot!

  • Read data from excel sheet and then perform the required operations.

    Hi all
    I need to write a procedure which can read data from excel sheet.I have excel sheet in which i have to options one is modification and other is addition.so if it reads modification then i need to read the concerned table name then check its availability in pl-sql datbase.If table exists then reading the realated column in that row to fire the querry. The excel sheet is saved in local disk c.
    can anybody help me with this.How i need to start specialy to read the data from excel sheet saved in local disk c.
    Edited by: user13334062 on Jun 30, 2010 3:45 AM

    Hi
    If you can convert the excel to a csv format, then it can be simply query from DB Creating Oracle External Tables. Best part is that you may still change the CSV using EXCEL.
    Following action Points can be adopt;
    *1. Convert Excel File to a csv. File Save as CSV*
    *2. Create Oracle Directory* ( This has to be the location of your excel file )
    SQL> Create directory mydir as 'C:\testdb'; --- "testdb" is the location folder in win for your excel sheet.
    *3. Create the External Table*
    SQL> create table my_ext_tab (
    Field1 Datatype,
    Field2 Datatype,
    Field3 Datatype,
    Field4 Datatype,
    Field5 Datatype
    Organization external
    (type oracle_loader default directory mydir
    access parameters (records delimited by newline fields terminated by ',')
    location ('my_ext_tab.csv'))
    reject limit 100;
    *4. Now you can query the table "my_ext_tab"*
    Select * from "my_ext_tab";
    Please avoid the reformat the data column inside the spreadsheet (CSV).

  • Without loops how can i read data from associative Array??

    Hi all,
    I am facing scenario like...
    i need to read data from associative array  without using loops is it possible,
    CREATE OR REPLACE PACKAGE BODY test_pkg IS
        TYPE t1 IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
       -- in array we can expect more than one row or sometimes no data also.
      FUNCTION test1(vt1 T1 DEFAULT CAST(NULL AS t1)) RETURN NUMBER IS
      BEGIN
        -- basically in array we'll get data of column2
        -- this loop should satisfies table1.colum2 = nvl(NULL, table2.colum2 )if array is null.
        -- if array is not null then only compare with array values
        FOR i IN (SELECT t1.colum1,t1.column2
                         FROM table1 t1, table1 t2
                              WHERE t1.colum1 = t2.column1
                                AND t1.colum2 = nvl(vt1, t2.colum2)
          LOOP
            generateTEXT(i.colum1, i.colum2);
         END LOOP;
      END test1;
    END test_pkg;
    in table1 we have date like...
    colum1          column2
    Jan                  1
    Feb                  2
    Mar                  3
    if i call select test_pkg.test1(1) from dual then output should
    be Jan..
    and
    select test_pkg.test1(null) from dual then it should display all elements from table1.
    Jan                  1
    Feb                  2
    Mar                  3,
    Thanks for your quick replay..

    i need to read data from associative array  without using loops is it possible,
    No - you would need to create a SQL type and then use the TABLE operator to unnest the collection.
    create or replace TYPE my_nums IS TABLE OF INTEGER;
    DECLARE
    --  TYPE my_nums IS TABLE OF PLS_INTEGER INDEX BY PLS_INTEGER;
      v_nums my_nums := my_nums(1, 2, 3);
      v_total number;
    BEGIN
      select sum(column_value) into v_total from table(v_nums);
      DBMS_OUTPUT.PUT_LINE
        ('Sum of the numbers is ' || TO_CHAR(v_total));
    END;
    Sum of the numbers is 6

  • Read data from a Stored Procedure in Android

    I have a Stored Procedure say CustOrdersDetail. I have created a MBO for it in the workspace and deployed it on SAP Mobile Server. I am unable to read data from the stored procedure in code of the Android Application. If I pass a default load argument, then I am able to read data using findAll method. How to get the data from the stored procedure by passing it an argument in the Android Code ?
    Message was edited by: Abhijit Kadam

    Currently I am trying to call the stored procedure and retrieve the results. The stored procedure accepts 'orderId' as an argument and fetches the Product and Order Details.

  • TcpListener not working on Azure: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host

    Hi Everybody,
    i'm playing a little bit with Windows Azure and I'm blocked with a really simple issue (or maybe not).
    I've created a Cloud Service containing one simple Worker Role. I've configured an EndPoint in the WorkerRole configuration, which allows Input connections via tcp on port 10100.
    Here the ServiceDefinition.csdef file content:
    <?xml version="1.0" encoding="utf-8"?>
    <ServiceDefinition name="EmacCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-01.2.3">
    <WorkerRole name="TcpListenerWorkerRole" vmsize="Small">
    <Imports>
    <Import moduleName="Diagnostics" />
    <Import moduleName="RemoteAccess" />
    <Import moduleName="RemoteForwarder" />
    </Imports>
    <Endpoints>
    <InputEndpoint name="Endpoint1" protocol="tcp" port="10100" />
    </Endpoints>
    </WorkerRole>
    </ServiceDefinition>
    This WorkerRole is just creating a TcpListener object listening to the configured port (using the RoleEnvironment instance) and waits for an incoming connection. It receives a message and returns a hardcoded message (see code snippet below).
    namespace TcpListenerWorkerRole
    using System;
    using System.Net;
    using Microsoft.WindowsAzure.ServiceRuntime;
    using System.Net.Sockets;
    using System.Text;
    using Roche.Emac.Infrastructure;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.WindowsAzure.Diagnostics;
    using System.Linq;
    public class WorkerRole : RoleEntryPoint
    public override void Run()
    // This is a sample worker implementation. Replace with your logic.
    LoggingProvider.Logger.Info("TcpListenerWorkerRole entry point called");
    TcpListener listener = null;
    try
    listener = new TcpListener(RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint);
    listener.ExclusiveAddressUse = false;
    listener.Start();
    LoggingProvider.Logger.Info(string.Format("TcpListener started at '{0}:{1}'", RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Address, RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Port));
    catch (SocketException ex)
    LoggingProvider.Logger.Exception("Unexpected exception while creating the TcpListener", ex);
    return;
    while (true)
    Task.Run(async () =>
    TcpClient client = await listener.AcceptTcpClientAsync();
    LoggingProvider.Logger.Info(string.Format("Client connected. Address='{0}'", client.Client.RemoteEndPoint.ToString()));
    NetworkStream networkStream = client.GetStream();
    StreamReader reader = new StreamReader(networkStream);
    StreamWriter writer = new StreamWriter(networkStream);
    writer.AutoFlush = true;
    string input = string.Empty;
    while (true)
    try
    char[] receivedChars = new char[client.ReceiveBufferSize];
    LoggingProvider.Logger.Info("Buffer size: " + client.ReceiveBufferSize);
    int readedChars = reader.Read(receivedChars, 0, client.ReceiveBufferSize);
    char[] validChars = new char[readedChars];
    Array.ConstrainedCopy(receivedChars, 0, validChars, 0, readedChars);
    input = new string(validChars);
    LoggingProvider.Logger.Info("This is what the host sent to you: " + input+". Readed chars=" + readedChars);
    try
    string orderResultFormat = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\xB")) + @"MSH|^~\&|Instrument|Laboratory|LIS|LIS Facility|20120427123212+0100||ORL^O34^ORL_O34| 11|P|2.5.1||||||UNICODE UTF-8|||LAB-28^IHE" + Environment.NewLine + "MSA|AA|10" + Environment.NewLine + @"PID|||patientId||""""||19700101|M" + Environment.NewLine + "SPM|1|sampleId&ROCHE||ORH^^HL70487|||||||P^^HL70369" + Environment.NewLine + "SAC|||sampleId" + Environment.NewLine + "ORC|OK|orderId|||SC||||20120427123212" + Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\x1c\x0d"));
    writer.Write(orderResultFormat);
    catch (Exception e)
    LoggingProvider.Logger.Exception("Unexpected exception while writting the response", e);
    client.Close();
    break;
    catch (Exception ex)
    LoggingProvider.Logger.Exception("Unexpected exception while Reading the request", ex);
    client.Close();
    break;
    }).Wait();
    public override bool OnStart()
    // Set the maximum number of concurrent connections
    ServicePointManager.DefaultConnectionLimit = 12;
    DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString");
    RoleEnvironment.Changing += RoleEnvironment_Changing;
    return base.OnStart();
    private void RoleEnvironment_Changing(object sender, RoleEnvironmentChangingEventArgs e)
    // If a configuration setting is changing
    LoggingProvider.Logger.Info("RoleEnvironment is changing....");
    if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))
    // Set e.Cancel to true to restart this role instance
    e.Cancel = true;
    As you can see, nothing special is being done. I've used the RoleEnvironment.CurrentRoleInstance.InstanceEndpoints to retrieve the current IPEndpoint.
    Running the Cloud Service in the Windows Azure Compute Emulator everything works fine, but when I deploy it in Azure, then I receive the following Exception:
    2014-08-06 14:55:23,816 [Role Start Thread] INFO EMAC Log - TcpListenerWorkerRole entry point called
    2014-08-06 14:55:24,145 [Role Start Thread] INFO EMAC Log - TcpListener started at '100.74.10.55:10100'
    2014-08-06 15:06:19,375 [9] INFO EMAC Log - Client connected. Address='196.3.50.254:51934'
    2014-08-06 15:06:19,375 [9] INFO EMAC Log - Buffer size: 65536
    2014-08-06 15:06:45,491 [9] FATAL EMAC Log - Unexpected exception while Reading the request
    System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
    at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
    --- End of inner exception stack trace ---
    at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
    at System.IO.StreamReader.ReadBuffer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffer)
    at System.IO.StreamReader.Read(Char[] buffer, Int32 index, Int32 count)
    at TcpListenerWorkerRole.WorkerRole.<>c__DisplayClass0.<<Run>b__2>d__0.MoveNext() in C:\Work\Own projects\EMAC\AzureCloudEmac\TcpListenerWorkerRole\WorkerRole.cs:line 60
    I've already tried to configure an internal port in the ServiceDefinition.csdef file, but I get the same exception there.
    As you can see, the client can connect to the service (the log shows the message: Client connected with the address) but when it tries to read the bytes from the stream, it throws the exception.
    For me it seems like Azure is preventing the retrieval of the message. I've tried to disable the Firewall in the VM in Azure and the same continues happening.
    I'm using Windows Azure SDK 2.3
    Any help will be very very welcome!
    Thanks in advance!
    Javier
    En caso de que la respuesta te sirva, porfavor, márcala como válida
    Muchas gracias y suerte!
    Javier Jiménez Roda
    Blog: http://jimenezroda.wordpress.com

    hi Javier,
    I changed your code like this:
    private AutoResetEvent connectionWaitHandle = new AutoResetEvent(false);
    public override void Run()
    TcpListener listener = null;
    try
    listener = new TcpListener(
    RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint"].IPEndpoint);
    listener.ExclusiveAddressUse = false;
    listener.Start();
    catch (SocketException se)
    return;
    while (true)
    IAsyncResult result = listener.BeginAcceptTcpClient(HandleAsyncConnection, listener);
    connectionWaitHandle.WaitOne();
    The HandleAsync method is your "While (true)" code:
    private void HandleAsyncConnection(IAsyncResult result)
    TcpListener listener = (TcpListener)result.AsyncState;
    TcpClient client = listener.EndAcceptTcpClient(result);
    connectionWaitHandle.Set();
    NetworkStream netStream = client.GetStream();
    StreamReader reader = new StreamReader(netStream);
    StreamWriter writer = new StreamWriter(netStream);
    writer.AutoFlush = true;
    string input = string.Empty;
    try
    char[] receivedChars = new char[client.ReceiveBufferSize];
    // LoggingProvider.Logger.Info("Buffer size: " + client.ReceiveBufferSize);
    int readedChars = reader.Read(receivedChars, 0, client.ReceiveBufferSize);
    char[] validChars = new char[readedChars];
    Array.ConstrainedCopy(receivedChars, 0, validChars, 0, readedChars);
    input = new string(validChars);
    // LoggingProvider.Logger.Info("This is what the host sent to you: " + input + ". Readed chars=" + readedChars);
    try
    string orderResultFormat = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\xB")) + @"MSH|^~\&|Instrument|Laboratory|LIS|LIS Facility|20120427123212+0100||ORL^O34^ORL_O34| 11|P|2.5.1||||||UNICODE UTF-8|||LAB-28^IHE" + Environment.NewLine + "MSA|AA|10" + Environment.NewLine + @"PID|||patientId||""""||19700101|M" + Environment.NewLine + "SPM|1|sampleId&ROCHE||ORH^^HL70487|||||||P^^HL70369" + Environment.NewLine + "SAC|||sampleId" + Environment.NewLine + "ORC|OK|orderId|||SC||||20120427123212" + Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\x1c\x0d"));
    writer.Write(orderResultFormat);
    catch (Exception e)
    // LoggingProvider.Logger.Exception("Unexpected exception while writting the response", e);
    client.Close();
    catch (Exception ex)
    //LoggingProvider.Logger.Exception("Unexpected exception while Reading the request", ex);
    client.Close();
    Please try it. For this error message, I suggest you could refer to this thread (http://stackoverflow.com/questions/6173763/using-windows-azure-to-use-as-a-tcp-server
    ) and this post (http://stackoverflow.com/a/5420788).
    Regards,
    Will
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to read data from LDAP

    Hi All,
    I have a requirement to read data from LDAP. Currently i am using function module - LDAP_READ to access the data in the ABAP code but there is no data populated using this FM.
    Please advice if anyone know about any FM to populate the LDAP data.
    Thanks and Regards
    Syed Samdani

    try : LDAP_OBJECT_READ

  • Help Required -- Can we use SQL Query to READ data from SAP MDM Tables

    Hi All,
    Please help.........
    Can we use SQL Query to READ(No Creation/Updation/Deletion  just Read) Data from SAP MDM tables directly, without using MDM Syndicator.
    Or direct SQL access to SAP MDM tables is not possible. Only through MDM Syndicator can we export data.
    Thanks in Advance
    Regards

    All the tables you create in Repository comes under A2i_CM_Tables in Database named as your repository name. So the tables names are fields of table A2i_CM_Tables. Now i tried it but cant make it.
    Now, I dont think its possible to extract all fields in tables and there values using select query. May be pure sql guy can do that or not.
    But there is no relation of data extraction and syndicator. Data is viewed in Data Manager. and you can also store data in a file from DM also.
    BR,
    Alok

Maybe you are looking for